我使用默认选项在User
模型上设置了Devise。
我还有一个Company
模型,需要在用户注册时添加添加的数据。公司所有者设置User
以及Company
个人资料,以相同的形式登录。
我使用Company
设置has_many :users
模型,User
设置has_one :company
,但在提交表单时我会不断获得Can't mass-assign protected
。我跟随了Profile model for Devise users?和其他来自Stackoverflow的人,但没有运气。
如何在用户注册时设置User
和Company
模型以添加必要的数据?用户数据为User
,公司数据为Company
。
答案 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