我有一个设置用于创建对象(设备)的表单,以及设备has_many功能。
我可以使用用户可选择的表单(例如带复选框)轻松地设置它。但是,我想在控制器中设置它们,因为它们不是用户可选择的(它们将基于创建设备时传递的一些其他参数,例如设备类型)。
如何设置控制器,以便基本上可以根据创建的设备类型硬连接has_many关系?
谢谢!
编辑:将操作重命名为能力以避免混淆
答案 0 :(得分:0)
您可以使用Rails在设置关联时自动定义的一些方法来设置这样的关联。基本上,你应该可以去
def action_name
#other action code
@device = Device.find(params[:id]) #or however you get it
#if you want to grab abilities using SQL:
@device.abilities = Ability.where('some conditions')
#or if you have a particular group:
@device.abilities = [ability_1, ability_2]
@device.save!
end