【发布时间】:2011-07-26 01:36:05
【问题描述】:
我通常会这样写:
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 错误。
这曾经有效。发生了什么变化?
【问题讨论】:
-
我认为你只需要将名称添加到 attr_accessible
-
@Matt 试过了;没用。
-
@Matt 从头开始;看起来它确实有效,它不是因为不相关的原因而被应用的。
-
@Matt 在下面添加一个答案,以便我标记它
-
酷。在下面添加为简短答案。
标签: ruby-on-rails ruby-on-rails-3.1 mass-assignment