我覺得這是這樣一個簡單的問題Ruby on Rails的把每次迭代到一個數組
<% @state.cities.each do |city| %>
<%= city.id %>
<% end %>
提出的ID如下:
1
2
3 etc...
如何打開迭代到一個數組?
所以輸出如下:
[1,2,3,4,etc...]
我覺得這是這樣一個簡單的問題Ruby on Rails的把每次迭代到一個數組
<% @state.cities.each do |city| %>
<%= city.id %>
<% end %>
提出的ID如下:
1
2
3 etc...
如何打開迭代到一個數組?
所以輸出如下:
[1,2,3,4,etc...]
有一種方法可以做到這一點!
您要找的是map
方法。
創建一個新的數組,其中包含塊返回的值。
http://apidock.com/ruby/Array/map
的文檔狀態,創建包含由塊返回的值的數組。
@state.map do |state|
state.id
end
=> [1,2,3,...]
這是一樣的:
@state.map(&:id)
=> [1,2,3,...]
但是使用Ruby的可枚舉的簡寫。
您可以使用map
:
<%= @state.map(&:id) %>
@state.map(&:id)
會給你同樣的結果!
爲什麼downvoting而不解釋爲什麼?完全沒用。如果你認爲這個問題需要改進或者不應該在這裏,請向OP解釋,以便他/她學習。 –