如何将@ recipe.components.find([#< Component ingredient_id:1>,#< Component> ingredient_id:2>])的结果集转换为[1,2]等数组
<% @ingredients.each do |ingredient| %>
<div class="field">
<%= check_box_tag 'ingredients[]', ingredient.id, @recipe.components.find(:all, :select => "ingredient_id").include?(ingredient.id) %><%= ingredient.name %>
</div>
<% end %>
谢谢!
答案 0 :(得分:31)
你可以使用
@result.map {|i| i.ingredient_id }
答案 1 :(得分:24)
如果您使用的是最新版本的ruby,则有新方法:
@result.map(&:ingredient_id)
节省时间,清洁且易于理解。
答案 2 :(得分:6)
或者更简洁@result.map! &:ingredient_id
答案 3 :(得分:6)
你也可以使用:
@result.pluck(:ingredient_id)