はじめに
初めてパターンのエラーと本日遭遇したため記録のため記述します。
正しいかどうか大変不安ですので、間違い等ご指摘を下さると幸いです
#エラー内容
Formオブジェクト内でこんな感じにバリデーションを記述していたところ、エラーが発生しました。
with_options presence: true do
validates :title,length:{maximum:25}
validates :content
validates :name,uniqueness:true
end
原因
結論から言えば、uniquenessはFormオブジェクト内では使用できないからです。
Formオブジェクトはつい勘違いしてしまいますが、モデルとは違い直接モデルを触れることができないものです。ゆえに、以下のようにモジュールを読み込んでいます。
class PracticesPtag
include ActiveModel::Model
#省略
解消方法
私の場合は、正しいかわかりませんが、uniquenessのみ直接モデルに書いてやることでエラーを解消させました。
#終わりに
正直。まだ腑に落ちない部分もあるため、より詳しい説明ができる方はコメントにて教えてくださると大喜びです!!!!