【发布时间】:2013-03-15 12:11:36
【问题描述】:
在我的 rails 3 应用程序中,我想像这样定义一个变量:
PERSONAL_DOMAINS = %w[
@126.com
@163.com
@aim.com
@aol.com
]
然后我希望能够在 user.rb 中使用它进行如下验证:
return true if PERSONAL_DOMAINS.any? { |rule| "@#{domain}".include? rule }
我也想在其他模型中使用它。
像这样:
domain_rules = [PERSONAL_DOMAINS]
domain_rules.each { |rule| return false if !domain.match(rule).nil? }
使用 Rails,您应该在哪里以及如何定义这个 PERSONAL_DOMAINS 列表? YML,配置,初始化程序?那么如何正确使用呢?
谢谢
【问题讨论】:
-
这可能是您需要放入 YAML 文件并使用初始化程序加载它的内容。
-
如何在 YAML 中定义这种类型的变量?还有任何性能问题?
-
@AnApprentice 性能应该不是问题,因为它只在应用程序启动时加载。要加载 YAML 文件,请检查以下问题:stackoverflow.com/questions/592554/…
标签: ruby-on-rails ruby ruby-on-rails-3