Rails-我应该在模型级别还是在数据库级别定义默认属性值?

古鲁鲁萨

在rails中,我们可以使用gem'default_value_for'或我们自己的一个宏语句,在模型级别简单定义默认属性值。另一方面,我们可以使用迁移“默认”选项在数据库级别对其进行定义。我对哪种方法是最佳的Rails感到困惑,或者在不同的情况下应该使用哪种方法?

任何答复表示赞赏!:D

斯派克曼

您可能要考虑的事情。

当您在应用程序中设置默认值时

  • 默认值可以轻松更改,并且
  • 默认值可以是动态的,
  • 有一些方法可以绕过默认设置

当您在数据库中设置默认值时

  • 更改默认值需要迁移(对于大型表可能是个问题)
  • 实施动态默认值比较困难,然后
  • 无法绕过应用程序中的默认设置(更安全)

您可能要考虑的另一个选择是覆盖属性的getter方法。这种方法仅在从数据库返回空值(或无效值)时使用默认值,并且不会更改存储新值的方式。

def foo
  super || 'a default value'
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails-我应该在模型级别还是在数据库级别定义默认属性值?

来自分类Dev

在保存到Rails中的数据库之前,应该在哪里放置用于解析数据的逻辑?

来自分类Dev

在保存到Rails中的数据库之前,应该在哪里放置用于解析数据的逻辑?

来自分类Dev

我应该在数据库端还是在客户端捕获异常?

来自分类Dev

Rails MVC-数据库搜索逻辑应该放在模型还是控制器中

来自分类Dev

我应该在哪个Rails模型中放入多表查询

来自分类Dev

Rails4我应该在哪里放置现有库的扩展?

来自分类Dev

Rails4我应该在哪里为现有库添加自己的扩展?

来自分类Dev

我应该在哪里使用参数和数学自定义Rails方法?

来自分类Dev

Rails在数据库中将我的属性设置为nil

来自分类Dev

在迁移所有内容之后很长时间,如何在数据库级别上与Rails应用程序冲突?

来自分类Dev

我应该在哪里为Rails中的现有类放置自定义方法?

来自分类Dev

每个模型的Rails 4数据库

来自分类Dev

我们的应用程序应该将图像属性存储在数据库中吗?还是应用程序应该在运行时生成它们?

来自分类Dev

我应该在函数内部返回数据库结果还是在函数外部遍历结果?

来自分类Dev

最佳实践:我应该在数据库中存储哪些信息?

来自分类Dev

我应该在数据库中输入什么日期

来自分类Dev

我应该在数据库中输入什么日期

来自分类Dev

2 个存储过程结果集的合并应该在数据库端还是在 API 端完成?

来自分类Dev

我应该在Rails中明确指定我的助手吗

来自分类Dev

我应该在Neo4j.rb中使用JRuby或Ruby for Rails吗?

来自分类Dev

我们应该在Rails Factory中使用Faker吗?

来自分类Dev

我应该在Rails应用程序中的何处保存独立的非Ruby脚本?

来自分类Dev

我应该在rails中使用哪些路由来匹配:controller(/:action(/:id))或资源?

来自分类Dev

我应该在rails generate model --orm中为ActiveRecord使用什么名称?

来自分类Dev

我应该在Rails的哪里放置扩展哈希类的文件?

来自分类Dev

我应该在哪里在 Rails 中创建静态记录?

来自分类Dev

PasswordHash的比较是在客户端级别还是在数据库级别进行的?

来自分类Dev

我应该在数据库中存储桌面应用程序的本地化数据吗?

Related 相关文章

  1. 1

    Rails-我应该在模型级别还是在数据库级别定义默认属性值?

  2. 2

    在保存到Rails中的数据库之前,应该在哪里放置用于解析数据的逻辑?

  3. 3

    在保存到Rails中的数据库之前,应该在哪里放置用于解析数据的逻辑?

  4. 4

    我应该在数据库端还是在客户端捕获异常?

  5. 5

    Rails MVC-数据库搜索逻辑应该放在模型还是控制器中

  6. 6

    我应该在哪个Rails模型中放入多表查询

  7. 7

    Rails4我应该在哪里放置现有库的扩展?

  8. 8

    Rails4我应该在哪里为现有库添加自己的扩展?

  9. 9

    我应该在哪里使用参数和数学自定义Rails方法?

  10. 10

    Rails在数据库中将我的属性设置为nil

  11. 11

    在迁移所有内容之后很长时间,如何在数据库级别上与Rails应用程序冲突?

  12. 12

    我应该在哪里为Rails中的现有类放置自定义方法?

  13. 13

    每个模型的Rails 4数据库

  14. 14

    我们的应用程序应该将图像属性存储在数据库中吗?还是应用程序应该在运行时生成它们?

  15. 15

    我应该在函数内部返回数据库结果还是在函数外部遍历结果?

  16. 16

    最佳实践:我应该在数据库中存储哪些信息?

  17. 17

    我应该在数据库中输入什么日期

  18. 18

    我应该在数据库中输入什么日期

  19. 19

    2 个存储过程结果集的合并应该在数据库端还是在 API 端完成?

  20. 20

    我应该在Rails中明确指定我的助手吗

  21. 21

    我应该在Neo4j.rb中使用JRuby或Ruby for Rails吗?

  22. 22

    我们应该在Rails Factory中使用Faker吗?

  23. 23

    我应该在Rails应用程序中的何处保存独立的非Ruby脚本?

  24. 24

    我应该在rails中使用哪些路由来匹配:controller(/:action(/:id))或资源?

  25. 25

    我应该在rails generate model --orm中为ActiveRecord使用什么名称?

  26. 26

    我应该在Rails的哪里放置扩展哈希类的文件?

  27. 27

    我应该在哪里在 Rails 中创建静态记录?

  28. 28

    PasswordHash的比较是在客户端级别还是在数据库级别进行的?

  29. 29

    我应该在数据库中存储桌面应用程序的本地化数据吗?

热门标签

归档