0

こんにちは私は、Railsのセキュリティホールのためにアプリケーションが悪用されているGITHUBで何が起こったのかを考慮して、NOOBの質問があります。

Railsでオブジェクト属性を保護しながら、該当する場合はそれらに値を割り当てることができるようにするための最良の方法は何ですか?

ありがとう

4

1 に答える 1

2

実際、Rails 3.1には、ロールを使用した一括割り当てを処理するための新しい組み込みの方法が追加されています。これは、おそらく確認したいものです。

ここにリリースノート

基本的には次のように機能します。

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

これにより、次の方法を使用して、ユーザーがコントローラーの1つで自分の情報を更新できるようになります。

@user.update_attributes(params[:user])

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

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

これにより、:role属性も更新できるようになります

于 2012-03-07T04:36:56.027 に答える