ruby-on-rails - 如何在模型中设置默认值? -- 在 Ruby on Rails 3.1 中

标签 ruby-on-rails ruby-on-rails-3

在 RoR 3.1 中,“验证”仍然无法在模型中设置默认值。或者有吗?如果没有,设置默认值的最佳方法是什么?

最佳答案

一种方法是在迁移中设置默认值。这将是一个将设置为您的数据库的属性。您可以在此处阅读更多信息:http://api.rubyonrails.org/classes/ActiveRecord/Migration.html

另一种方法是设置一个before过滤器,比如before_save或before_create,然后检查属性上的值是否为nil,你可以将其设置为某物。

class Abc
   before_save :set_default

   protected

   def set_default
     self.xyz = "default" unless self.xyz
   end
end

关于ruby-on-rails - 如何在模型中设置默认值? -- 在 Ruby on Rails 3.1 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7950302/

相关文章:

ruby-on-rails - 将参数从 as_json 传递到模型

ruby-on-rails - 迁移和 Rspec

ruby-on-rails - 减去两个时间范围

ruby-on-rails - 在 rails 中显示查询结果

ruby-on-rails-3 - 使用 Fedex API 验证送货地址

ruby-on-rails-3 - 在 Rails 3 Controller 中创建数组

ruby-on-rails - 如何在 Heroku 上阻止或过滤 IP 地址?

ruby-on-rails - Prawn :目录如何做成 “Leader dots”?

ruby-on-rails - 为什么在远程发布与远程更新帖子时出现 “no route”错误?

mysql - 如何在 ruby​​ on rails 中编写嵌套查询?