Rails 3 では、アクセス可能な属性を定義できます。
attr_accessible :rating, :review
このモデルには、user_id
偽造/ハッキングを防ぐために保護された追加機能があります。この値はコントローラーで割り当てられます。
@review.user_id = current_user.id
Firebug を使用して を手動で含めるとuser_id
、 の一部になりますが、params[:review]
はuser_id
で定義されてattr_accessible
いないため、データベースには保存されません。そのような場合はむしろ安全です。
質問1
私はRails 3のアクションブックを読みました.Yehuda Katzは、.delete
さらなるアクションが実行される前に不正なパラメータを削除する方法を含めparams[:review].delete(:user_id)
ました. アプリをさらに保護するためにこれも含める必要がありますか、それともこの手順を無視する必要がありますか?
質問2
.delete_all_except
上記のメソッドを含める必要がある場合は、params で許可されている属性にストリップするだけのようなものが必要です。それ、どうやったら出来るの?
ありがとう。