辅助方法与批量分配安全性发生冲突
我通常会写这样的内容:
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 中,这给我带来了警告:无法批量分配受保护的属性:名称
错误。
这曾经有效。发生了什么变化?
I typically write something like this:
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
Which allows you to do Person.new(:name => "Adam Lassek")
instead of splitting it up in the controller.
In Rails 3.1.0.rc4-5, this gives me the WARNING: Can't mass-assign protected attributes: name
error.
This used to work. What changed?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将名称添加到 attr_accessible
add name to the attr_accessible