2013-08-29 262 views
0

我有一个数据库表,它有一个我需要作为数组的列。从表列创建一个数组

我收集了我需要的记录:

app.rb

@liquor = Venue.find(@venue.id).liquors_venues.where(:venue_id => @venue.id) 

,我可以看到我想要的数据:

view.erb

<% @liquor.each do |liquor| %> <%= liquor.liquor_id %><% end %> 

这只能通过运行循环提供我想要的数据。我真的需要@ liquor.liquor_id,但由于liquor_id在子阵列中,因此无法访问。我需要一个数组,所以我可以运行此代码,以确定是否复选框被选中与否:

view.erb

<%= @liquor.include?(vodka.id) ? "checked" : "" %> 

回答

1

你可以把它变成一个数组...

all_liquor_ids = @liquor.map { |liquor| liquor.liquor_id } 

<%= all_liquor_ids.include?("vodka.id") ? "checked" : "" %> 

希望这有助于。

+0

美丽!谢谢! – csakon