将Rails数据存储为整数或字符串

时间:2013-07-13 22:38:19

标签: ruby-on-rails activerecord ruby-on-rails-4

嘿,在我的rails应用程序中,我想存储和应用程序在生产环境或开发中。在我的activerecord迁移中,我将字段设置为:environment ad为整数,0表示开发,1表示生成。然后,当我想使用它作为纯文本我有一个帮助方法,将其转换为0和1的文本。我应该将此值作为整数或纯文本存储在我的数据库中吗?我想使用最有效的方式,因为我想制作像if twitter.is_development()这样的方法。

2 个答案:

答案 0 :(得分:1)

将它存储为整数会更有意义,因为它们代表数字。如果你想使用文字,那么“true”和“false”会更合适。

无论你决定什么,你都无法衡量表现的差异。选择最容易理解和维护的内容。 “过早优化是所有邪恶的根源”。

答案 1 :(得分:1)

我将该列命名为“env”,并使用“production”,“development”和“testing”作为值来表示当前的env。

你无法预测未来,存储原始值可以帮助你在许多地方,比如说,我称之为rake任务,

"rake product:update_price RAILS_ENV=production",

然后我会使用从env列中检索到的值而没有任何逻辑,比如

"rake product:update_price RAILS_ENV=#{env}",

因此,如果它的开发,生产或测试将相应使用。

检查一下,Rails.env vs RAILS_ENV,也许你根本不需要存储任何东西。