【发布时间】:2012-10-31 10:09:44
【问题描述】:
我尝试将 yaml 文件加载到数组中,但由于未定义方法 `join' for "a b c":String 失败
# Check certain temporarily emails
# Throw notice not accepted use other email
require 'yaml'
bad_hostnames = YAML::load(File.read("#{Rails.root}/config/bad_hosts.yml"))
if /^(#{bad_hostnames.join("|")})$/.match(host)
errors.add(:email, "Please not use a disposable mailbox")
end
所以我需要 yaml 在模型之前和顶部,我在其中加载 yml 的控制器:
require 'yaml'
仍然是相同的结果,在 Rails 控制台中这可以完美运行,我错过了什么? 上面的代码在我的 user.rb 模型中,在控制台中它可以工作
编辑: bad_hosts.yml 看起来像(缩短的)1 个提供者这一行
0-mail.com
10minutemail.com
30minutemail.com
4warding.net
【问题讨论】:
-
config/bad_hosts.yml文件的内容是什么。问题似乎就在那里。 -
bad_hosts.yml 的内容我将在上面添加
标签: ruby-on-rails ruby join yaml