2012-09-24 21 views
0

我遇到了我的第一个多对多关系连接表的问题。我是否需要连接表的模型或控制器?

class Category < ActiveRecord::Base 
    has_and_belongs_to_many :users 
end 

class User < ActiveRecord::Base 
    has_and_belongs_to_many :categories 
end 

而且我添加了一个连接表:

create_table "categories_users", :id => false, :force => true do |t| 
    t.integer "category_id", :null => false 
    t.integer "user_id",  :null => false 
end 

有人点我,我会用它来将用户添加到一个类别形式的例子吗?我需要一个单独的宁静控制器来处理'categories_users'吗?我有一种冲动,即将方法添加到名为“添加用户”的类别控制器中,但我不确定对于其他RESTful控制器而言,这是否明智。

回答

0

我正在使用simple_form,我终于在文档中找到了该做什么。因此,使用simple_form时,表单将如下所示:

<%= simple_form_for [:admin, @festival, @category] do |c| %> 
    <%= c.input :name %> 
    <%= c.input :description, input_html: { cols: 100, rows: 3, class: "span6" } %> 
    <%= c.input :takes_submissions %> 
    <%= c.association :users, label_method: :full_name, label: "Choose curators" %> 
    <%= c.button :submit %> 
<% end %> 

无需添加控制器或单独的窗体。好极了!

相关问题