yamlファイルを配列にロードしようとしましたが、「ab c」:Stringの未定義のメソッド`join'で失敗します
# 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