我正在尝试找到在Rails中为对象设置默认值的最佳方法.
我能想到的最好的new方法是在控制器中设置方法的默认值.
如果可以接受或者有更好的方法,是否有人有任何意见?
可能重复:
attr_accessor默认值
我正在使用Ruby on Rails 3.0.9,我想attr_accessor在我继承的类\ model中初始化一些属性值ActiveRecord::Base.那是,
...在我的模块中我有:
class User < ActiveRecord::Base
attr_accessor :attribute_name1,
:attribute_name2,
:attribute_name3,
...
end
Run Code Online (Sandbox Code Playgroud)
并且我想设置true的所有attr_accessor属性值.我怎样才能做到这一点?
PS:当然我想解决上述问题,接近"Ruby on Rails Way".我知道after_initialize回调但是通过使用该方法,我应该重复每个attribute_name<N>语句,我想将值设置true在该after_initialize语句中(...这不是 DRY - 不要重复自己).也许有更好的方法来实现这一目标.当您声明这些属性时,有没有办法attr_accessor"动态" 设置属性值?也就是说,我希望立即声明和设置attr_accessor属性!
ruby attributes initialization ruby-on-rails ruby-on-rails-3