我为公司创造了一个设计。我已经创建了一个表用户,希望我想存储用户信息密码等。当用户注册时,我希望它创建一个新用户并与公司建立关联。
我的公司型号: has_one:用户 我的用户型号: Belongs_to:公司
我应该如何覆盖注册控制器?
祝你好运, Rails初学者
答案 0 :(得分:3)
如果我在这里错了,请纠正我,但听起来公司不会登录 - 只有属于公司的用户。
考虑到这一点,您应该使用User
作为Devise模型而不是Company
。那么你的关联是正确的。下一步是使用嵌套属性在company#new
的表单中为用户添加字段(视图中为fields_for
;模型中为accepts_nested_attributes_for
)。
回答原始问题:您可以使用嵌套属性在注册表单中创建新用户。您不需要覆盖Devise的注册控制器。只需修改注册表单即可包含fields_for
用户。另外,请确保Company
模型的accepts_nested_attributes_for
模型具有User
。
快速搁置:我不了解您的应用程序的体系结构,但似乎has_many
更合适。在与此类似的情况下,您更有可能希望拥有属于单个公司的多个用户。