2012-03-07 2 views
0

こんにちは私は、Railsのセキュリティホールのためにアプリケーションが悪用されているGITHUBで何が起こったのかを考えてNOOB質問をしています。アサインメントアサインメントから属性を保護する方法

Railsでオブジェクト属性を保護するのに、適用可能な場合でも値を割り当てることができます。

おかげ

答えて

2

は実は3.1は、おそらくあなたはを見てみたいものである役割を持つ大量の割り当てを処理するための新しい組み込みの方法を追加しましたレール。

リリースは、基本的にはhere

を指摘し、それは次のように動作します。

class User < ActiveRecord::Base 
    attr_accessible :name 
    attr_accessible :name, :role, :as => :admin 
end 

これが何を行うことができますすることで、ユーザーのいずれかに自分の情報を更新できるようにするには、次の方法を使用することができるということですお使いのコントローラ:

@user.update_attributes(params[:user]) 

そして、その使用方法は、Userモデルで:role属性を更新ことはできません。しかし、あなたはあなたの管理者ユーザーを持っている場合、ユーザーは次の構文、その後、別のコントローラでの役割をすることができます管理:

@user.update_attributes(params[:user], :as => :admin) 

そして、それは:role属性が同様に

+0

を更新することができるようになりますおかげDanneManneに役立ちます。私はちょうどそれをします。 – chell

関連する問題