从表列创建一个数组

时间:2013-08-29 18:22:27

标签: ruby arrays activerecord sinatra erb

我有一个数据库表,其中包含一个我需要作为数组的列。

我收集了我需要的记录:

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 个答案:

答案 0 :(得分:1)

你可以把它放到一个数组......

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

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

希望这有帮助。