rails:simple_for 对于关联模型的特殊技巧

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,要看模型具体指定的关联字段是哪个

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值