RailsCast 219では、フォームからデータをやり取りするためのクラスを作成するために次のコードが提供されていますが、ActiveRecord の永続性はありません。
class Message
include ActiveModel::Validations
attr_accessor :name, :email, :content
validates_presence_of :name
validates_format_of :email, :with => /^[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}$/i
validates_length_of :content, :maximum => 500
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
end
私はRubyを初めて使用しsend("#{name}=", value)
ますが、攻撃者が任意の値を任意のフィールドに割り当てるように招待しているようです。これは問題ですか?何人かのコメント投稿者が同様の質問をしましたが、回答はありませんでした。