[解決済み] アソシエーションを介して所属_to
2022-04-25 01:05:21
質問
次のような関連付けがある場合、私は、その参照先として
Question
その
Choice
から通して添付されます。
Choice
モデルを使用します。を使おうとしているのですが
belongs_to :question, through: :answer
を使用してこのアクションを実行します。
class User
has_many :questions
has_many :choices
end
class Question
belongs_to :user
has_many :answers
has_one :choice, :through => :answer
end
class Answer
belongs_to :question
end
class Choice
belongs_to :user
belongs_to :answer
belongs_to :question, :through => :answer
validates_uniqueness_of :answer_id, :scope => [ :question_id, :user_id ]
end
私は
NameError 未初期化の定数
User::Choice
をしようとすると
current_user.choices
を含めない場合は、問題なく動作します。
belongs_to :question, :through => :answer
しかし、それを利用したいのは
validates_uniqueness_of
私はおそらく何か簡単なことを見落としているのでしょう。何か助けがあればありがたいのですが。
解決方法は?
A
belongs_to
アソシエーションは
:through
オプションを使用します。をキャッシュする方がよいでしょう。
question_id
で
Choice
を作成し、テーブルにユニークなインデックスを追加します(特に
validates_uniqueness_of
はレースコンディションが発生しやすい)。
もしあなたが偏執狂なら、カスタムバリデーションを
Choice
を確認し、その答えが
question_id
しかし、エンドユーザーがこのようなミスマッチを起こすようなデータを送信する機会を与えてはいけないような気がします。
関連
-
[解決済み] Railsサーバーがポートはすでに使用されていると言う、そのプロセスを殺すにはどうすればよいですか?
-
[解決済み】コレクションをDESCで並べる方法
-
[解決済み] Railsです。NameError: 初期化されていない定数
-
[解決済み] gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] 該当するルートがない [GET] "demo/hello"
-
[解決済み] Ruby:Rubyの配列にinclude.の反対はある?
-
[解決済み] Railsコントローラからホスト名を取得する
-
[解決済み] Rspec が私のモデルクラスを認識しない。初期化されていない定数エラー
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Rails: sudo "コマンドが認識されないのはなぜですか?
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み] Mac OS Xにhomebrewがインストールされているかどうかを確認する方法
-
[解決済み] ウェブパッカーがアプリケーションを見つけ出せない
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] Errno::EACCESS: パーミッションが拒否された @ dir_s_mkdir
-
[解決済み] Paramが無いか、値が空である。ParameterMissing in ResultsController#update
-
[解決済み] rails erb フォームヘルパー options_for_select :selected
-
[解決済み] railsでhidden fieldタグを使用する方法
-
[解決済み] 構文エラー "構文エラー、予期しない入力終了、keyword_endを期待 (SyntaxError)"