0

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

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

我用和设置Company模型,但在提交表单时我不断收到。我为 Devise 用户遵循Profile 模型?和来自 Stackoverflow 的其他人,但没有运气。has_many :usersUserhas_one :companyCan't mass-assign protected

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

4

2 回答 2

0

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

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

问候!

于 2013-01-28T15:36:54.130 回答
0

我是如何让它工作的:

我的User模型有:

attr_accessible :company_attributes

belongs_to :company
accepts_nested_attributes_for :company

我的Company模型有:

has_many :users

new.html.erbfrom是添加了devise/registrations以下内容:

<% resource.build_company %>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
[ fields for User ]
<%= f.fields_for :company_attributes, resource.company do |company| %>
[ fields for Company ]
<% end %>
<% end %>
于 2013-01-28T15:43:02.887 回答