我通常会这样写:
class Person < ActiveRecord::Base
attr_accessible :first_name, :last_name
def name
"#{ first_name } #{ last_name }"
end
def name=(str)
first, last = str.split(' ', 2)
write_attribute :first_name, first
write_attribute :last_name, last
end
end
这允许您做Person.new(:name => "Adam Lassek")
而不是在控制器中拆分它。
在 Rails 3.1.0.rc4-5 中,这给了我WARNING: Can't mass-assign protected attributes: name
错误。
这曾经奏效。发生了什么变化?