当用户信息属于公司设计时,Rails会设计

时间:2011-01-03 12:18:23

标签: authentication ruby-on-rails-3 devise

我为公司创造了一个设计。我已经创建了一个表用户,希望我想存储用户信息密码等。当用户注册时,我希望它创建一个新用户并与公司建立关联。

我的公司型号: has_one:用户 我的用户型号: Belongs_to:公司

我应该如何覆盖注册控制器?

祝你好运, Rails初学者

1 个答案:

答案 0 :(得分:3)

如果我在这里错了,请纠正我,但听起来公司不会登录 - 只有属于公司的用户。

考虑到这一点,您应该使用User作为Devise模型而不是Company。那么你的关联是正确的。下一步是使用嵌套属性在company#new的表单中为用户添加字段(视图中为fields_for;模型中为accepts_nested_attributes_for)。

回答原始问题:您可以使用嵌套属性在注册表单中创建新用户。您不需要覆盖Devise的注册控制器。只需修改注册表单即可包含fields_for用户。另外,请确保Company模型的accepts_nested_attributes_for模型具有User

快速搁置:我不了解您的应用程序的体系结构,但似乎has_many更合适。在与此类似的情况下,您更有可能希望拥有属于单个公司的多个用户。