rails :simple_form for
对于相关联的 模型对象,在表单中可以直接将与之关联的模型作为字段
比如:
class User < ActiveRecord::Base
belongs_to :company
has_and_belongs_to_many :roles
end
class Company < ActiveRecord::Base
has_many :users
end
class Role < ActiveRecord::Base
has_and_belongs_to_many :users
end
这样3个模型:
user < ————— >role
user <————— > company
那么我写一个用于创建user 对象的表单的时候,如果希望在表单中选择一个与之关联的company或者role的时候,我就可以利用上面所说的特性,方便地将关联的模型提交
<%= simple_form_for @user do |f| %>
<%= f.input :name %>
<%= f.association :company %>
<%= f.association :roles %>
<%= f.button :submit %>
<% end %>
如上,这样的表单在页面会显示两个下拉框,用于选择现有role 和company对象,表单提交后,会将id提交
最终控制器中对应方法拿到的参数会是{user: {name: ‘xx’,company_id: xx,role_id: xx}}
不过关联字段不一定是id,要看模型具体指定的关联字段是哪个