我觉得这是一个很容易的问题
<% @state.cities.each do |city| %>
<%= city.id %>
<% end %>
将ID设置如下:
1
2
3 etc...
如何将迭代转换为数组?
所以输出如下:
[1,2,3,4,etc...]
答案 0 :(得分:3)
有一种方法可以做到这一点!
您正在寻找的是map
方法。
创建一个包含块返回值的新数组。
http://apidock.com/ruby/Array/map
文档说明,创建一个包含块返回值的数组。
@state.map do |state|
state.id
end
=> [1,2,3,...]
与以下内容相同:
@state.map(&:id)
=> [1,2,3,...]
但是使用Ruby Enumerable简写。
答案 1 :(得分:2)
您可以使用map
:
<%= @state.map(&:id) %>
答案 2 :(得分:2)
@state.map(&:id)
会给你相同的结果!