現在、レビューサイトを作成していて、ユーザーがレビューを新規で登録する際に、"記述項目7つのうちから、2つの項目を選択し、一つの項目につき、50字以上記述しなければならない"というvalidationをかけようとしています。
その際、初めにformに記述のある場合のみにvalidationを掛けるように条件をしぼろうとしていたのですが、下記のように、ifで条件指定を使用した際(review_jobsはreviewテーブル内のカラムの一つです。)
Ruby
1class Review < ActiveRecord::Base 2... 3 validates :review_jobs, 4 presence: :true, 5 length: { minimum:50}, 6 if: :is_review_jobs? 7 8 def is_review_jobs? 9 review_jobs.present? 10 end 11 12
review_jobsというカラムが認識されない(undefined local variable or method `review_jobs)というエラーが出てきます。この場合、どのようにカラムを指定すれば良いでしょうか?
(検証のためサンプルアプリケーションを作成し問題なく動作が確認できてしまったのですが、)「カラムが認識されない」のであれば、db/schema.rb (現在のDB の状態)には review_jobs カラムは存在していますか?
回答1件
あなたの回答
tips
プレビュー