2

ユーザーモデル(Devise)に「アバター」を追加しましたが、エラーが発生しますCan't mass-assign protected attributes: avatar

私のユーザーモデルでは、次のものを追加しました。

attr_accessible :avatar_uid, :avatar_name
image_accessor :avatar

そして、フォーム(simple_form)には:html => {:method =>:put、:multipart => true}とフィールドがあります:

<%= f.file_field :avatar %>
<%= f.hidden_field :retained_avatar %>
<%= f.check_box :remove_avatar %>

:avatartoを追加するとattr_accessible、一括割り当てエラーは解決されますが、フィールドはユーザーテーブルに保存されません。

4

1 に答える 1

0

アバターを一括割り当てるには、attr_accessibleリストにもアバターを追加する必要があります。

したがって、attr_accessibleリストを次のように置き換えるだけです。

 attr_accessible :avatar_uid, :avatar_name, :avatar

image_accessorは、attr_accessorのようなリストされた属性のリーダー/ライターを提供するdragon-flygemによって提供されます。

attr_accessibleとattr_accessorの違いをもっと知るには、このスレッドをチェックしてください

「警告:保護された属性を一括割り当てできません」

于 2013-04-08T09:54:29.303 に答える