問題タブ [validates-associated]
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.
ruby-on-rails - Rails 3 のより良い validates_associated メソッド?
Rails 3 にはvalidates_associated
、ネストされたモデルを保存するときに自動的に呼び出される が含まれています。メソッドの問題は、メッセージがひどいことです-「モデルが無効です」
Rails 2 のこの問題を攻撃する投稿がいくつかあります。
- http://rpheath.com/posts/412-a-better-validates-associated
- http://pivotallabs.com/users/nick/blog/articles/359-alias-method-chain-validates-associated-informative-error-message
おそらくもっとあります。これらの投稿で説明されているように、Rails 3 と互換性のあるより優れたバージョンがあれば素晴らしいことです。主な改善点は、関連付けられたモデルが失敗する理由を含めることです。
ruby-on-rails - validates_associatedはアソシエーションの存在をチェックしていません
誰かがここで何が起こっているのか理解できますか?コードを希望どおりに機能させることはできましたが、validates_associatedが期待どおりに機能しない理由がわかりません。これが私のコードの抜粋です:
このコードでは、user_id==nilでフラグを保存することはできません。user_id == 12345(つまり、データベースにないuser_id)でフラグを保存できます。これは、validates_associatedAPI仕様の内容です。
validates_associated(* attr_names)
関連する1つまたは複数のオブジェクトがすべて有効であるかどうかを検証します。あらゆる種類のアソシエーションで動作します。
...
注:関連付けが割り当てられていない場合、この検証は失敗しません。アソシエーションが存在し、有効であることが保証されていることを確認する場合は、validates_presence_ofも使用する必要があります。
代わりに、これを使用して目的の動作を得ることができました。
API仕様についての私の理解は、validates_associedが関連するテーブルをチェックして、外部キーがnil以外の場合に、 Flagの外部キーと一致するIDを持つ行が存在するかどうかを確認することです。誰かがこれについて何か洞察を提供できますか?validates_associatedがどのように機能するのか誤解していますか?
validation - アクティブレコードの検証 - validates_associated
このメソッドが実際に何をするのか、いつ使用するのかは不明です。
これらのモデルがあるとしましょう:
このような人の電話番号を作成すると:
最初の番号が無効なため、保存に失敗しました。これは私にとって良いことです。しかし、私が理解していないのは、関連付けられたレコードをすでに検証している場合、validates_associated 関数は何ですか?
ruby-on-rails - ActiveModel:関連するモデルが失敗したときに失敗する検証を無効にする
Rails3はvalidates_associated
デフォルトで常にすべてのモデルに対して実行されますか?
このような簡単なセットアップで
コメントが無効なため、コメントが添付された新しい投稿は失敗します。
validates_associated
常に実行されている場合、なぜそこにあるのですか(変更するため:message
ですか?)、どうすればオフにできますか?試しvalidates_associated :comments, :unless => proc{true}
ましたが、何もしません。
モデルを保存したいだけです。それぞれが有効な場合は関連する各レコードを保存しようとしますが、関連するモデルが無効な場合は失敗しません。
編集:これは私がやろうとしていることに近いです
本、映画など、ゲームと同じ構造に従うモデルが他にもあります。その場合WikipediaParagraph.paragraph == nil
、ゲームは検証に失敗します。has_one :wikipedia_paragraph, :validate => false
ゲームが保存され、WikipediaParagraphが保存されなかった場合は、どちらも保存せずに両方を保存したほうがいいと思います。
使うよりもエレガントなものが欲しいと思っていました
has_one/many
今では、おそらく不可能だと気づきました。
ruby-on-rails - has_one 関連付けに :autosave を使用する:子のコントローラーで親のエラーを表示する方法は?
次のようなモデルを作成しました。
子モデルは次のようになります。
新しい子のページにいるときに、ユーザーが以前に作成した子の親を選択しない場合、子を作成すると同時に親を作成するように強制したいと思います。ユーザーが子と親のすべてのデータを正しく入力すると正常に機能しますが、親が特定のフィールドで検証の問題を抱えている場合、「親を空白にすることはできません」というメッセージのみが表示されます。
ユーザーが親を単独で作成した場合に表示されるのと同じメッセージをユーザーに表示したかったのです。「親のフィールド X が短すぎます」のようなものである必要があります。
validates_associated または同様のヘルパーを使用して、それは可能ですか?
前もって感謝します!
ruby-on-rails - Rails 4 フォーム - テキスト フィールドの値は、関連付けられたテーブルの値と一致する必要があります (オートコンプリート)
関連する 2 つのモデル/テーブルがあります
会社の住所を入力する新しいビジネス フォームでは、都道府県や国のドロップダウン選択ボックスを使用するのが一般的です。しかし、都市の場合は数千あるため、機能しません。保存を許可する前に、都市が都市テーブルにリストされていることを確認する方法はありますか? そして、そのフィールドに city_name の代わりに city_id を入れることさえありますか?
cakephp - CakePHP の複数選択が機能しない
私は2つのテーブル「ビジネス」を持っておりbusiness_categories
、それらの関連付けは次のようになります
ビジネステーブル.php
business_categories
と一緒にテーブルに複数のカテゴリを入力する必要がありますbusinesses
。
これは、入力フィールドがどのようにadd.ctp
表示されているかです
しかし、これは次のようにエラーを出しています
フォームが送信されていません。への取り外しmultiple => true
と交換は正常に機能business_categories._category_ids
しbusiness.category_id
ています。
足りないものはありますか?
編集 2
SellerBusinessesController.php
デバッグ時: debug($this->request->data)、
]、