0

Userデフォルトのオプションを使用して、モデルにDevise をセットアップします。

また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モデルは次のとおりです。

attr_accessible :company_attributes

belongs_to :company
accepts_nested_attributes_for :company

私のCompanyモデルは次のとおりです。

has_many :users

そしてnew.html.erbfromdevise/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 に答える
0

たとえば、User.rbモデルに追加するなど、ユーザーを作成した後、コールバックを使用してオブジェクト Company を作成できます: (会社の属性はわかりませんが、この例を見ることができます)

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 に答える