2009-12-01 3 views
1

Je veux seulement sortir une ancre ici. Si current_page est dans le tableau, j'en ai deux (.html et -nf.html). Si ce n'est pas dans le tableau, je reçois autant d'ancres qu'il y a d'éléments dans le tableau. J'ai utilisé StaticMatic.ruby ​​- si la chaîne n'est pas contenue dans un tableau

- if page_options[:current_index] < page_options[:total_index] && page_options[:current_index] > 0 

    // loop through the pre-flash array and if current page matches, add -nf 
    - page_options[:pre_flash] = ['string_one-nf', 'string_two-nf', 'string_three-nf'] 
    - page_options[:pre_flash].each do |each_string| 

     - if current_page.include? each_string 
      %li 
       %a{ :href => "page#{page_options[:current_index]}-nf.html", :class => "next" } 
        Next 
     - else 
      %li 
       %a{ :href => "page#{page_options[:current_index]}.html", :class => "next" } 
        Next 

Répondre

2
unless current_page.include? the_string 

Edit:

Vous pouvez briser la boucle chaque si vous voulez que votre première constatation d'être le seul. Mais maintenant cela semble un peu bizarre, parce que vous itérez sur un tableau et casser après le premier élément, peu importe ce qui se passe. Est-ce que je règle votre problème?

options[:pre_flash] = ['string_one-nf', 'string_two-nf', 'string_three-nf'] 
page_options[:pre_flash].each do |each_string| 
    if current_page.include? each_string 
    %li 
    %a{ :href => "page#{page_options[:current_index]}-nf.html", :class => "next" } 
    # This is the last ancor 
    break 
    else 
    %li 
    %a{ :href => "page#{page_options[:current_index]}.html", :class => "next" } 
    # This is the last ancor 
    break 
    end 
end 
+0

désolé les gars - il y a plus à ce que j'ai réalisé, faisant simplement ce que vous recommandez, je reçois plusieurs occurrences de la ou à moins! code (dans ce cas, l'ancre) –

+0

non, encore obtenir la répétition ancres .html malheureusement –

+0

pauses ont fait le tour, je comprends totalement cela - grand merci –

1

Ok, donc je pense que nous vérifions qu'aucun des page_options [: CURRENT_INDEX] sont des sous-chaînes CURRENT_PAGE. Désolé, j'ai mal compris ce que vous faisiez ... pensé que vous faisiez un include? sur un tableau mais c'était une chaîne ... :-)

+0

cela semble le long des lignes droites si http://pastie.org/721159 est me donner un 'ne peut pas convertir la chaîne en tableau' erreur –

+0

Le pastie n'est pas tout à fait ce que je voulais dire - mettre le second si à l'extérieur du bloc ... Incidemment - de quel type est current_page? est-ce une chaîne? – daf

+0

current_page est en effet une chaîne –

Questions connexes