名前を登録の際、暴力的な言葉や卑猥な言葉を弾きたいのでtxtファイルで一覧にして
それを弾くバリデーションを作成しています。
rootにtxtを配置し、concernにモジュールとして作成し、Userモデルにてincludeしています。
ただ現在実行してもエラーが発生してしまいます。色々調べてみたのですが原因が突き止められません。
宜しくお願い致します。
ruby
1 2# user.rb 3# バリデーションは一部省略しています。 4 5 include Blacklist 6 7 validates :name, uniqueness: true, exclusion: { in: blacklist } 8
ruby
1# models/concerns/blacklist.rb 2 3module Blacklist 4 5 extend ActiveSupport::Concern 6 7 def blacklist 8 File.readlines('blacklist.txt') 9 end 10 11end
text
1# blacklist.txt 2 3helloworld 4goodnight
該当エラーメッセージ
ruby
1`method_missing': undefined local variable or method `blacklist' for User (call 'Guest.connection' to establish a connection):Class (NameError)
または他のいい方法があればご教授いただきたいです。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/05 15:24
2021/08/05 22:13
2021/08/06 17:03