postでfollowed_idとfollower _idでuniq制限をかけたいです。
下記のコードで実装できたのですが、正しいでしょうか
lang
1#例 2validates :followed_id, uniqueness: { scope: [:follower _id] } 3#※twiiterとは関係のないシステムを作っています。
検証した結果は自分が実現したい動きが得られましたが一つだけ期待した動きとは違う動きをします。
ただ重複した内容を登録しようとするとundefined method `id' for nil:NilClassとでます。
通常はvalidatesで弾かれると入力画面に戻りエラー内容が表示されると思います。
原因はfollowed_idをf.hidden_fieldで埋め込んでいるのがせいか?と思うのですがどうすれば通常のvalidatesエラーになるでしょうか
lang
1 (0.0ms) begin transaction 2 Opportunity Exists (0.1ms) SELECT 1 AS one FROM "opportunities" WHERE ("opportunities"."opportued_id" = 10 AND "opportunities"."opportuer_id" = 6) LIMIT 1 3 (0.0ms) rollback transaction 4 Rendered opportunities/_form.html.erb (3.3ms) 5 Rendered opportunities/new.html.erb within layouts/application (4.0ms) 6Completed 500 Internal Server Error in 13ms
※重複がない場合は正常に動作します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/18 18:09
2015/01/19 07:05