设计:注册的相关模型:不能进行质量分配

时间:2013-01-28 15:15:26

标签: ruby-on-rails devise user-management

我使用默认选项在User模型上设置了Devise。

我还有一个Company模型,需要在用户注册时添加添加的数据。公司所有者设置User以及Company个人资料,以相同的形式登录。

我使用Company设置has_many :users模型,User设置has_one :company,但在提交表单时我会不断获得Can't mass-assign protected。我跟随了Profile model for Devise users?和其他来自Stackoverflow的人,但没有运气。

如何在用户注册时设置UserCompany模型以添加必要的数据?用户数据为User,公司数据为Company

2 个答案:

答案 0 :(得分:0)

您可以在创建用户后使用回调创建对象公司,例如在User.rb模型上添加:(我不知道您的公司属性,但您可以查看此示例)< / p>

after_create :first_company
 def first_company
  company = self.company.new(:title => "Company title here", :created_at => Time.now #add more attributes if required)
  board.save!
 end

您必须将attr_accessible添加到从动作控制器接收的属性中。 在模型上添加下一个代码以删除Can't mass-assign protected

attr_accessible :title #...more attributes if required

问候!

答案 1 :(得分:0)

我是如何运作的:

我的User模型有:

attr_accessible :company_attributes

belongs_to :company
accepts_nested_attributes_for :company

我的Company模型有:

has_many :users

来自new.html.erb的{​​{1}}添加了以下内容:

devise/registrations