問題タブ [validates-uniqueness-of]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
590 参照

ruby-on-rails-3 - Rails:結合テーブルの2つの属性の一意性により500エラーが発生する

私は次のモデルを持っています。これは基本的に、教授が特定のレベルの多くの科目の知識を持っていることを意味しようとしています。科目は固定されているため、新しい科目は作成されず、知識結合テーブルを介して教授に「関連付けられる」だけです。

教授が科目を自分のアカウントに追加できるフォームが必要で、知識用のフォームを用意することにしました (レベルも挿入できるようにしたいため)。

次のようになります。

そして、Knowledges コントローラーのcreateアクションには、次のようなものがあります。

一意性違反があるため、このナレッジを挿入できないというActiveRecordを取得したい/期待していますが、ログに 500 とロールバックが表示されるだけですが、実行は続いているようです。私の質問は次のとおりです。私は何を間違っているのでしょうか、またはこのモデリングの状況をどのように改善できますか? そのモデルのフィールドを作成したいので、フォームを結合モデルに関連付ける必要があると思います...しかし、おそらく私は間違っているので、簡単でクリーンな方法で行うことができます。

編集

コメントの1つで尋ねられたように、フォームの送信とロールバック直後の500エラーのログは次のとおりです。

次のように、作成アクションにいくつかの条件を追加しました。

そして、これは実際には 500 の直後に次のことを示しています。

オブジェクトにエラーを追加するだけでなく、なぜ例外が発生するのか疑問に思い、その状況を管理させてください。次の行がすべきことではありませんか?

0 投票する
1 に答える
1300 参照

ruby-on-rails - Rails Validates_uniqueness のスコープが機能しない

私の検証では、create メソッドで「メールは既に取得されています」というエラーが発生します。

Customer モデルに次の検証があります。

これは私のログに表示されているものです:

助けてくれてありがとう。

0 投票する
1 に答える
330 参照

ruby-on-rails-3 - Rails 3は、スコープを持つ仮想フィールドのvalidates_uniquess_of

レコードがすでに存在するかどうかを確認するために仮想フィールドで検証を実行する必要があるRails3アプリに取り組んでいます...これが私のモデルコードです:

エラーは発生していません。検証に合格しています。

0 投票する
1 に答える
141 参照

ruby-on-rails-3 - 属性のペアの一意性が機能しない

私は、とりわけ電子メールとuniversity_idを持つユーザーモデルを持っています

モデルファイルに次の行を追加しました。

しかし、同じ電子メールで異なるuniversity_idのユーザーを作成しようとすると、次のエラーメッセージが表示されます。

電子メールが一意ではないことは知っていますが、ペアの電子メール、university_idは一意です。なぜこの例外が発生するのでしょうか。また、どうすれば修正できますか?

ありがとう!

0 投票する
1 に答える
402 参照

ruby-on-rails - グループ(コレクション)の要素がRailsの親オブジェクトごとに一意であることを検証するにはどうすればよいですか?

私のアプリはCourseswith Projectswith Groupswithを呼び出しますが、それが一度に複数回表示Users.されないようにする必要があり、Rails 検証でそれを行うことができると思いますが、私が持っているものは機能したくないようです. 誰でもこれで私を助けることができますか?usersproject

以下は私に与えます:

Admin::GroupsController#create
未定義メソッド `text?' のNoMethodError nil:NilClass の場合

ActiveAdmin グループ オブジェクト:

0 投票する
1 に答える
977 参照

ruby-on-rails - オブジェクト属性の一意性に関する Rspec テストが、未定義のメソッド 'valid?' で失敗する nil:NilClass の場合

「Charity」という名前のオブジェクトがあり、各慈善団体に一意の名前があることを確認したいのですが、残念ながら、次の失敗したテストが発生しています。工場に問題があると思われます。

チャリティー オブジェクトは、ユーザー オブジェクトに属しています。charity.rb は次のとおりです。

charity_spec.rb の関連部分は次のとおりです。

factory.rb は次のとおりです。

私は何を間違えましたか?

0 投票する
1 に答える
1828 参照

symfony - symfony2 で arraycollection を検証する

私は Symfony2 + Doctrine を初めて使用し、Arraycollection の一意性を検証する方法を探しています。すでに回答済みの質問かもしれませんが、解決方法がわかりません。私はCallbackを持つRelevamientosserviciosprestadorクラスを持っています:

そしてAtencionusuarioreclamoエンティティ:

特定のsederelevamiento_idでのtiporeclamoの一意性をチェックしたい

「Atencionusuarioreclamo」エンティティのサブフォーム コレクションを持つフォームを使用して、 Relevamientosserviciosprestadorを作成または編集します。送信時に、Relevamientosserviciosprestadorのコールバックが実行されますが、$this->reclamosには、編集中のRelevamientosserviciosprestadorに関連するものだけでなく、すべてのエンティティが保存されてい ます。これは予想される動作ですか、それとも何か不足していますか? symfony2 のエンティティ コレクション内の一意のエンティティを検証する方法で説明したアプローチもテストしまし たが、ここでもすべてのエンティティをチェックします。

Doctrine2 ArrayCollectionも読みましたが、問題が解決するかどうかわかりません。
永続化する前に ArrayCollection の一意性を管理する方法を教えてください。
下手な英語で申し訳ありません
よろしくお願いします
Ivan

0 投票する
1 に答える
2473 参照

ruby-on-rails - いくつかが破棄のためにマークされる可能性がある場合の一意性のためのネストされた属性の検証をレール

次の(サニタイズされた)モデルがあります。

問題は次のとおりです。

Person Joe Shmoe が現在自分に関連付けられている 2 つのアドレスを持っているとします。

666 Foo Street, 12345 の一意の ID: 「ABCDEFG」および 777 Lucky Avenue, 54321 の一意の ID: 「GFEDCBA」</p>

そして、次の投稿がフォームから来たとしましょう:

この動作は、2 番目の (つまり、新しい) レコードが最初に一意性について検証され、検証に失敗するように見えます。

marked_for_destruction?私が望む動作は、それ以上の検証を行う前に、すべての要素を非常に単純に削除することです。

このようにライフサイクルを再配線するにはどうすればよいですか? これを達成するためのより良い方法はありますか?

ありがとう!

0 投票する
1 に答える
2606 参照

ruby-on-rails - 単一ユーザーの Ruby on Rails で一意のプロジェクト名を検証する

私のモデル クラスProjectでは、name. 次のように名前を検証します。

nameの範囲内でのみ、プロジェクトが一意であることを望みUserます。つまり、ユーザーは同じ名前の複数のプロジェクトを持つことはできませんが、projects テーブルには、異なるユーザーが所有する同じ名前の複数のプロジェクトを含めることができます。