0
私はhas_one:companyというユーザーを持っています。私は強力なパラメータを使って会社の属性を構築する必要がありますが、私はActiveModel::ForbiddenAttributesError
に入っています。私のコードは次のようになります。レール用建物協会
def create
@user = User.new(permitted_user_params)
@user.build_company(params[:user][:company_attributes])
end
def permitted_user_params
params.require(:user).permit(:email, :first_name, :last_name,
company_attributes: [:name, :bio])
end
私company.rbは
class Company < ActiveRecord::Base
belongs_to :user
end
マイuser.rb
class User < ActiveRecord::Base
has_one :company
accepts_nested_attributes_for :company
end
すべてのヘルプは高く評価され、感謝のように見えます。 (あなたはどの部分がaccepts_nested_attributes
に暗示されて
@user.build_company(params[:user][:company_attributes])
、それは限り、あなたはあなたpermit/require
が正しくセットアップされているとして、あなたのためにそれを行う必要があります。
こんにちは。まず、この部分を行う必要はありません: '@ user.build_company ...' 'accepts_nested_attributes'はあなたのためにそれを行うべきです。 –
第2に:あなたのログを(コンソール/端末か 'logs/development.log'から)見ることができ、' ForbiddenAttributesError'の完全なメッセージを伝えることができますか?どの属性が正確に拒否されていますか?実際には、フォームを送信するときにログファイルにアクセスして監視し、送信後に発生するすべての出力行をコピーできますか?あなたの質問を編集して、私たちのためにそれを貼り付けてください。それは、あなたのために間違っていることを絞り込むのに役立ちます:) –
ありがとう、Taryn。 @ user.build_companyを削除するのと同じくらい簡単でした。 – user3593826