Rails:显示“collection_select”中2个表的数据

时间:2014-02-10 17:04:19

标签: sql ruby-on-rails activerecord html-select

我有两种模式:

class Category < ActiveRecord::Base
  attr_accessible :active, :title, :url_name

  has_many :category_images
end

class CategoryColor < ActiveRecord::Base
  belongs_to :category
end

类别表格中是一个类别列表, category_colors 是类别的添加颜色列表。

我想在 collection_select 中显示所有类别,表格 category_colors 中的某些颜色。怎么做?

到目前为止,我只能列出select标签中的所有类别:

= collection_select(:item, :chosen_category, Category.order('categories.title ASC'), :id, :title, prompt: true)

非常感谢您的建议

2 个答案:

答案 0 :(得分:0)

我已经这样做了:

= collection_select(:item, :chosen_category, @category_colors.map(&:category), :id, :title, prompt: true)

并在此操作的控制器中:

@category_colors = CategoryColor.group('category_id')

瞧!

答案 1 :(得分:-1)

希望这有帮助

<%= collection_select(:categorycolor, :categoty_id, Category.order('categories.title ASC'), :id, :title, prompt: true) %>