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

16 浏览
0 Comments

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

嗨,在我的Rails应用程序中,我想要存储应用程序是在生产环境还是开发环境。在我的ActiveRecord迁移中,我将字段设置为:environment作为一个整数,0代表开发环境,1代表生产环境。然后,当我想要将其作为纯文本使用时,我有一个辅助方法将0和1转换为文本。我应该将这个值存储在数据库中作为整数还是纯文本?我想使用最高效的方式,因为我想创建一个像if twitter.is_development()这样的方法来执行此操作。

0
0 Comments

问题的原因是在Rails应用中,需要存储当前环境的值,以便在不同的环境下执行不同的操作。解决方法是将该值存储为整数或字符串。

在这个问题中,列名被命名为"env",并使用"production"、"development"和"testing"作为值来表示当前环境。存储原始值有助于在许多地方使用,比如调用类似于"rake product:update_price RAILS_ENV=production"的任务时,可以使用从"env"列中检索到的值,而无需进行任何逻辑判断,比如"rake product:update_price RAILS_ENV=#{env}",这样无论是开发、生产还是测试环境,都会相应地使用。

解决方法中提到了一个链接Rails.env vs RAILS_ENV,可能根本不需要存储任何值。

需要注意的是,环境的使用不是为了我的Rails应用程序,而是为了为其他用户构建的服务。感谢答案。

0
0 Comments

问题出现的原因是在存储Rails数据时,需要选择将其存储为整数还是字符串。存储为整数更合理,因为整数代表数字。如果要使用文本,则"true"和"false"更合适。

无论选择哪种方式,都无法测量性能的差异。选择最容易理解和维护的方式。"过早优化是万恶之源"。

解决方法是根据需求选择将Rails数据存储为整数或字符串。如果数据是数字类型,那么将其存储为整数;如果数据是文本类型,那么将其存储为字符串。这样可以使代码更易于理解和维护,同时避免不必要的性能优化。以下是存储为整数和字符串的示例代码:

# 存储为整数

class Product < ApplicationRecord

enum status: {

active: 0,

inactive: 1

}

end

# 存储为字符串

class User < ApplicationRecord

serialize :preferences, Hash

end

通过以上解决方法,可以根据数据类型选择将Rails数据存储为整数或字符串,从而在代码中实现更好的可读性和可维护性。同时,避免过早进行性能优化,以提高开发效率。

0