嘿,在我的rails应用程序中,我想存储和应用程序在生产环境或开发中。在我的activerecord迁移中,我将字段设置为:environment ad为整数,0表示开发,1表示生成。然后,当我想使用它作为纯文本我有一个帮助方法,将其转换为0和1的文本。我应该将此值作为整数或纯文本存储在我的数据库中吗?我想使用最有效的方式,因为我想制作像if twitter.is_development()
这样的方法。
答案 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,也许你根本不需要存储任何东西。