1

私は Ruby on Rails 3.0.9 を使用していますが、そのメソッドがどのような場合 (つまり、どのメソッドに対して)attr_accessible効果があるかを知りたいです。たとえば、私が使用する場合

attr_accessible :name, :surname

ステートメントにnew(...)メソッドを使用するときに、これらの属性値を割り当てないようにします。User.new(params[:user])

しかし、他にどのような方法がありますか? たとえば、メソッドを正しく実行できwhere(...)ますexists?(...)attr_accessible?

4

2 に答える 2

3

を使用するattr_accessibleと、モデルはリストに含まれていない列の一括割り当てを防ぎますattr_accessible。影響を受けるメソッドは、、、mass assignmentなどのメソッドです。他のすべての関数は、次のような単一の割り当てでも機能します。newcreateupdate_attributesattributes=

@model_object.column_not_listed_in_attr_accessible_list = "Saved"
@model_object.column_not_listed_in_attr_accessible_list
=> "Saved"

whereそのため、exists?などで使用するのに問題はないはずです。

于 2011-08-18T10:39:41.507 に答える
2

attr_accessible書き込み操作に関連する機能のみに影響します。

例: new、create、update_attributes など。

where、exists? などのその他の読み取り専用関数は影響を与えません。

于 2011-08-18T09:12:30.607 に答える