對不起,我不知道如何標題這個問題。Rails - 加入每個
這裏是我的代碼在視圖:
<% country.cities.each_with_index do |city, i| %>
<% city.shops.each do |shop| %>
<%=h shop.name.join(", ") %>
<% end %>
<% end %>
因此,在這個城市裏,讓我們說有三個店:沃爾瑪,Ace五金,哈曼卡頓。
上面代碼的結果將產生:
Walmart Ace Hardware Harman Kardon
如何加入與他們每個人的「」?我試過<%= shop.name.join(", ") %>
,但不允許。錯誤。
謝謝。我喜歡Stack Overflow社區。你們已經更多了,遠勝於真棒!
編輯
我只是發現了一些。沃爾瑪在A市; Ace HArdware和Harman Kardon在B市。這就是爲什麼它按城市來加入城市。
當然,如果您使用的是Ruby 1.9,則可以使用'Symbol#to_proc'語法,如下所示:'city.spots.map(&:name).join(',')'。另外在Rails 3中,你不需要使用'h'來轉義HTML,因爲這在默認情況下在Erubis – 2010-10-29 16:41:12
中完成。實際上,Symbol#to_proc是ruby 1.8.6/7中rails <3的主動支持的一部分,所以它是可用的。主要的問題是我不想用句法欺騙來混淆答案;但爲了完整性,我會添加示例。 – TreyE 2010-10-29 16:43:41
啊我不知道ActiveSupport支持這個。有趣的,不,我同意我也不會用它作爲正式答案。 – 2010-10-29 16:46:44