LoginSignup
2
0

More than 3 years have passed since last update.

[Rails]Formオブジェクト内でuniquenessを使用してエラーが発生した件

Posted at

はじめに

初めてパターンのエラーと本日遭遇したため記録のため記述します。
正しいかどうか大変不安ですので、間違い等ご指摘を下さると幸いです

エラー内容

Formオブジェクト内でこんな感じにバリデーションを記述していたところ、エラーが発生しました。


  with_options presence: true do
    validates :title,length:{maximum:25}
    validates :content
    validates :name,uniqueness:true
  end

スクリーンショット 2021-04-30 12.41.46.png

原因

結論から言えば、uniquenessはFormオブジェクト内では使用できないからです。
Formオブジェクトはつい勘違いしてしまいますが、モデルとは違い直接モデルを触れることができないものです。ゆえに、以下のようにモジュールを読み込んでいます。

class PracticesPtag
  include ActiveModel::Model
  #省略

解消方法

私の場合は、正しいかわかりませんが、uniquenessのみ直接モデルに書いてやることでエラーを解消させました。

終わりに

正直。まだ腑に落ちない部分もあるため、より詳しい説明ができる方はコメントにて教えてくださると大喜びです!!!!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0