Bolo_M
October 27, 2006, 6:50pm
1
Salut
j’aimerais affiché une virgule tant que le prochain élément n’est pas
vide
j’ai essayé qqch comme ca
<% @questions_brouillons.each do | brouillon | %>
<%= link_to h(brouillon.question_fr), faq_path(:faq_category_id
=> @faq_category.id , :id => brouillon) %>
<% next unless brouillon.blank? %>,<% end %>
<% end %>
mais ca ne passe
merci
Bolo M.
[email protected]
http://blog.developpez.com/index.php?blog=30
Bolo_M
October 27, 2006, 7:40pm
2
Salut Bolo,
<% @questions_brouillons.each do | brouillon | %>
<%= link_to h(brouillon.question_fr), faq_path(:faq_category_id =>
@faq_category.id , :id => brouillon) %>
<% next unless brouillon.blank? %>,<% end %>
<% end %>
<%=
@questions_brouillons.map do |brouillon|
link_to( h(brouillon.question_fr),
faq_path(:faq_category_id => @faq_category.id , :id =>
brouillon))
end.join(’, ')
%>
Tu peux en faire un helper.
– Jean-François.
Bolo_M
October 27, 2006, 8:02pm
3
merci pour ta réponse peut tu m’expliquer a quoi sert map ?
merci
Le 27 oct. 06 à 13:38, Jean-François a écrit :
link_to( h(brouillon.question_fr),
Ã? la renverse.
Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance
Bolo M.
[email protected]
http://blog.developpez.com/index.php?blog=30
Bolo_M
October 27, 2006, 8:30pm
4
Bolo :
<%=
@questions_brouillons.map do |brouillon|
link_to( h(brouillon.question_fr),
faq_path(:faq_category_id => @faq_category.id , :id => brouillon))
end.join(’, ')
%>
merci pour ta réponse peut tu m’expliquer a quoi sert map ?
map (ou collect) sert à construire un tableau à partir de ton tableau
@questions_brouillons. Ce nouveau tableau est un tableau de chaînes
de caractères, plus exactement de chaînes “<a href…” générés
par link_to. Ensuite je transforme ce tableau en une chaîne de
caractères unique avec #join .
ri Array#join
ri Enumerable#map
Rien ne vaut aussi un bon irb pour voir comment ça
marche (que se passe-t-il si le tableau est vide ou n’a qu’un
seul élément ?) :
$ irb
%w(un deux trois).map { |element| “(#{element})” }.join(’, ')
=> “(un), (deux), (trois)”
%w(un deux trois).collect { |element| “(#{element})” }.join(’, ')
=> “(un), (deux), (trois)”
%w(un).collect { |element| “(#{element})” }.join(’, ')
=> “(un)”
%w().collect { |element| “(#{element})” }.join(’, ')
=> “”
– Jean-François.
Bolo_M
October 27, 2006, 8:06pm
5
Jean Francois ce code je dois bien le remplacer par ca
<% @questions_brouillons.each do | brouillon | %>
<%= link_to h(brouillon.question_fr), faq_path(:faq_category_id =>
@faq_category.id , :id => brouillon) %>
<% next unless brouillon.blank? %>,<% end %>
<% end %>
quand je fais un teste je ne vois plus aucune question
j’avais pensé a un truc comme ca
<% unless brouillon.last %>,<% end %>
mais à chaque fois j’ai un message me disant que la méthode last
n’exite pas dans mon model
Le 27 oct. 06 à 13:38, Jean-François a écrit :
link_to( h(brouillon.question_fr),
Ã? la renverse.
Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance
Bolo M.
[email protected]
http://blog.developpez.com/index.php?blog=30
Bolo_M
October 29, 2006, 2:44pm
6
Bolo M. wrote:
Salut
j’aimerais affiché une virgule tant que le prochain élément n’est pas
vide
j’ai essayé qqch comme ca
<% @questions_brouillons.each do | brouillon | %>
<%= link_to h(brouillon.question_fr), faq_path(:faq_category_id
=> @faq_category.id , :id => brouillon) %>
<% next unless brouillon.blank? %>,<% end %>
<% end %>
Ce que tu as envie de faire me semble etre exactement la methode
.to_sentence :
http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Array/Conversions.html#M000274
En tout cas, je ne vois pas ou est la différence. En quoi est-ce que :
@questions_brouillons.collect {|brouillon| link_to
h([CODE])}.to_sentence
ne répondrait pas à tes attentes ?
–
Jasperiel
Bolo_M
November 7, 2006, 10:50am
7
Pour éviter de créer des objets temporaires qui ne sont pas gratuits Ã
l’exécution je verrais bien ça :
<% @questions_brouillons.each_with_index do | brouillon, index | %>
<% if index > 0 %>,<% end %>
<%= link_to h(brouillon.question_fr), faq_path(:faq_category_id =>
@faq_category.id , :id => brouillon) %>
<% end %>
Quand on a des années de chasse au gaspi C/C++ derrrière soi on hésite
un
peu à créer des maps à tout va