我有三种模式:
class User < ActiveRecord::Base
has_many :basiccases
end
class Basiccase < ActiveRecord::Base
belongs_to :user
belongs_to :form3_c
end
class Form3C < ActiveRecord::Base
has_one :basiccases
end
如何向Form3C
添加新的Basiccase
?我是否需要使用Basiccase
控制器或Form3C
控制器来创建表单?如果我使用Form3cController
,如何在BasiccaseController?
答案 0 :(得分:4)
像has_one
这样的关系是在模型而不是控制器上定义的。我想你想要这个(能够将Form3c
添加到Basiccase
- 不确定你希望关系走向哪个方向):
class Form3c < ActiveRecord::Base
belongs_to :basiccase
end
class Basiccase < ActiveRecord::Base
belongs_to :user
has_one :form3c
end
有关构建控制器和表单(视图)的提示,请查看this Rails tutorial,从第6节开始。
答案 1 :(得分:0)
虽然您对模型的命名并不那么令人信服,但我假设您的basiccases
表格中有一列form3c_id
。
您需要为form3c
对象创建一个表单,然后在控制器中,您可以构建一个basiccase
对象,如@form3c_build_basiccase
,它将自动将form3c_id
作为外键。请参阅this rails cast。
或者你可以选择form3c
模型accepts_nested_attributes_for :basiccase
。请参阅here。