私は 2 つのモデルUserとを持つ Rails アプリケーションを開発していますClient。
Userdevise に支えられ、認証を担当しhas_one Client、特定のユーザーのクライアントの詳細を保持します。Clientを作成するたびにモデルが作成されるようにするため、この関係は常に存在しますUser。
私が使用している管理領域にはActiveAdmin. Userここで、管理インターフェイスから を作成しようとすると、次のようなフォームを使用します。
form do |f|
f.inputs :username, :email, :password
f.inputs :name => "Client", :for => :client do |client|
client.inputs :name, :address, ...
end
end
問題は、UserまたはClientが保存され、ページが検証エラーでリロードされることです。Rails コンソールを確認WARNING: Can't mass-assign protected attributes: client_attributesしましたが、作成しようとするたびにメッセージが表示されますUser。
この問題を調べたところ、一括割り当てを可能にするにattr_accessibleは、割り当てが許可されているフィールドごとに定義する必要があることがわかりました。そのため、上記の各フィールドのモデルにこのディレクティブを配置Clientすると、メッセージが表示され続け、モデルが適切に保存されなくなります。
誰もこれについて手がかりを持っていますか?