【发布时间】:2016-10-28 14:46:11
【问题描述】:
我有用于填充表单字段以及验证属性的静态查找。
我没有将它们存储在数据库中,因为它们是静态的并且不会更改,并且核心应用程序逻辑基于这些值(不希望数据库值更改破坏应用程序)。
# 15+ different categories...
APPLICANT_TYPES = ["primary", "coborrower"].freeze
# forms...
<%= f.select :applicant_type, APPLICANT_TYPES %>
# models...
class Applicant < ApplicationRecord
validates :applicant_type, inclusion: { in: APPLICANT_TYPES }
end
我有几个可行的选项,但不确定哪一个是最传统的或可能会导致问题。像这样的静态常量的 Rails 约定是什么?
config/initializers/constants.rb-
ApplicationRecord所有模型都继承自 -
config/constants.yml对我来说似乎并不受欢迎,因为将 YAML 加载到 Ruby 中需要额外的步骤,所以为什么不直接使用上面的constants.rb呢?
我有点困惑,因为它们中的任何一个都会起作用,但我确信有一些我没有考虑到的意外副作用。
【问题讨论】:
标签: ruby-on-rails configuration constants