6

多くの関連記事を読みましたが、それがなぜ機能しないのかわかりません。私はまだ "保護された属性:プロファイル"を割り当てることができません... 私は間違って何をしていますか?保護された属性を指定することはできません:プロファイル、

私はUserモデルと、1対1の関係を持つ関連するProfileモデルを持っています。ここで Userモデル(簡体字)

class User < ActiveRecord::Base 
    attr_accessible :email, :password, :password_confirmation, :profile_attributes, :profile_id 
    has_secure_password 

    has_one :profile 

    accepts_nested_attributes_for :profile 
end 

Profileモデル

class Profile < ActiveRecord::Base 
attr_accessible :bio, :dob, :firstname, :gender, :lastname, :user_id 

belongs_to :user 
end 

ユーザコントローラ

def new 
@user = User.new 
    respond_to do |format| 
    format.html # new.html.erb 
    format.json { render json: @user } 
    end 
end 

def create 
@user = User.new(params[:user]) 
@user.build_profile 

respond_to do |format| 
    if @user.save 

    format.html { redirect_to @user, flash: {success: 'User was successfully created. Welcome !'} } 
    format.json { render json: @user, status: :created, location: @user } 
    else 
    format.html { render action: "new" } 
    format.json { render json: @user.errors, status: :unprocessable_entity } 
    end 
end 
end 

それは任意の助けになることができれば、両方ユーザーとプロフィールが足場に乗った。

私はあまりにも試してみました:代わりに、ユーザーattr_accessible、同じ問題で 'profile_attributes' の 'profiles_attributes' ...

は、代わりに '@のuser.build_profile' のuser.profiles.build @ '、あまりにも試してみましたユーザコントローラ...同じ結果で...

いくつかの説明とすべてのヘルプは素晴らしいことだ(私は私を許してレール上のnoobだ)

EDIT 私は

を使用して、簡単なフォーム の
<%= simple_form_for(@user) do |f| %> 
<%= f.error_notification %> 


<%= f.simple_fields_for :profiles do |p| %> 
    <div class="nested-form-inputs"> 
     <%= p.input :lastname %> 
     <%= p.input :firstname %> 
    </div> 
<% end %> 


<div class="form-inputs"> 
    <%= f.input :email %> 
    <%= f.input :password %> 
    <%= f.input :password_confirmation %> 
</div> 

<div class="form-actions"> 
    <%= f.button :submit %> 
</div> 

<% end %> 

乾杯

答えて

5

あなたが引用されたエラーメッセージがcan't mass-assign protected attributes: profiles言います。私はあなたが、私は、サーバーを再起動したし、すべてが完璧に働いているattr_accessible :profiles(あるいは:profile

私は問題はレールクラスキャッシュとあった

accepts_nested_attributes_for :order_items 
attr_accessible :order_item 
+0

これを解決しました。レールクラスのキャッシュで問題が発生しました。レールサーバーを再起動して、すべてが完璧に動作しています。 – ajet

3

でアプリを持っている必要があると信じて...、

関連する問題