問題タブ [has-many-through]
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 has_many :through で結合モデル属性を使用する
例として、私はモデルグループとモデルユーザーを持っています
彼らは :has_many, :through => groups_users で接続されています
groups_users テーブルにはモデレーターと呼ばれる属性があり、ユーザーがグループのモデレーターであるかどうかを指定します
質問: 特定のグループのすべてのモデレーターにアクセスするにはどうすればよいですか?
:with_scope について読んだ後、頭に浮かぶのは
ただし、Rails 2 以降、with_scope は保護され、コントローラーで特定のコードを使用できなくなります。
ruby-on-rails - Railsのhas_many:through join model属性を更新するにはどうすればよいですか?
モデルグループとモデルユーザーがいます
それらは「has_many:through=>groups_users」で双方向に接続されています
groups_usersテーブルには、ユーザーがグループのモデレーターであるかどうかを指定する、moderatorと呼ばれる属性があります。
参加モジュール属性を更新しようとすると、間違いが発生します
私が今それをしている方法:
コードはmysqlの間違いを引き起こしています:
それを行うためのより良い方法はありますか、それともgroups_users結合モデルテーブルにid列を追加してidにインデックスを付ける必要がありますか?
ruby-on-rails - 従属 => 「has_many through」関連で破棄
:through オプションも使用すると、どうやら依存 => 破棄は無視されます。
だから私はこれを持っています...
...しかし、コメントを削除しても、関連する comment_user レコードは削除されません。
では、:through を使用する場合のカスケード削除の推奨されるアプローチは何ですか?
ありがとう
ruby-on-rails - RubyonRailsには多くのスルーアレイの問題があります
を使用してHasManyThroughアソシエーションに追加する際に問題が発生しましたuser_ids
。
私のコミュニケーションモデルは次のようになります。
通信コントローラーの作成アクションで、次のuser_ids
ように通信オブジェクトに手動で追加しようとしています。
@communication.user_ids
次のようにハードコードされたIDを実行しても、配列が空である理由を理解できません。
まだ空の@communication.user_ids
配列を取得しています。
私の方法で何かが欠けていますか?これを機能させるためのヒントはありますか?
前もって感謝します!
ruby-on-rails - Ruby on Rails で has-many クラス間の関連付けレコードを保存する方法
Books、People、およびBookLoansを表す 3 つのクラスを作成しました。BookLoans を介して人と本との関連付けを示すことができますが、私は自分のデータベースをシードしてきました。
私は今、本のチェックアウトを保存する必要があります。ブックコントローラーを介してこのアクションを実行することが私の意図でした。具体的には、BooksController でローン アクションを作成します。これは理論的には理にかなっていますが、適切な構文を実装するのに苦労しています。
本のショー ビューから本を貸与する機能を追加しました。このビューには、ブック コントローラーのローン アクションを使用してローンを記録するフォームが含まれています。
Book モデルに適切なメソッドであると思われるものを追加しました。theIVの助けを借りて、適切な情報をコントローラーに取り込みました。残念ながら、ブック ショー ビューで Loan を押すと、book_loan レコードが記録されません。
私は何が欠けていますか?
ブックモデル
BooksController からの Loan メソッド
貸し出しフォーム付きブックショービュー
ブックローン モデル
人物モデル
開発ログ
ruby-on-rails - 結合テーブル フィールドを表示しています
ここでは、employments 結合テーブルから追加の属性 CONFIRMED を表示したいと思います。私は何を間違っていますか?
私のジョブビューでは、各ジョブの確認済みの値を表示したいと考えています。私はそれを得ることができないようです。私の見解では、私は持っています:
ここでは、employments 結合テーブルから追加の属性 CONFIRMED を表示したいと思います。私は何を間違っていますか?
ありがとう
ruby-on-rails - has_many :through と Honor :conditions を使用して新しいレコードを作成するにはどうすればよいですか?
学生がメンバーシップ (たとえば、コースと学生の has_and_belongs_to_many 関係) を介して登録できるコースがあるとします。一部のメンバーシップは、クラスを観察するだけの学生向けです(単位取得などではありません)。
うまく機能するのは次のとおりです。
機能しないものは次のとおりです。
私は、関連付けを使用して新しいレコードを作成できると考えていたでしょう。
- 新しい Student レコード ('Joe Student')
- 新しいメンバーシップ レコード (course_id = 37、student_id = (joe)、observer = true)
しかし、代わりに私は得る:
私はこれについて完全に混乱していると確信しており、洞察をいただければ幸いです! また、メンバーシップ モデルの名前付きスコープを使用してこれを実行しようとしましたが、関連付けで has_many にスコープを使用させることができないようです。
可能な限り助けてくれてありがとう!
ruby-on-rails - 結合テーブル フィールドを更新しています
私の見解では、ユーザーのクリックで確認済みフィールドを 0 から 1 に更新しようとしています。
私の仕事のコントローラーで私は持っています
これはすべて間違っていると確信していますが、 has_many: through に関しては推測しているようです。結合されたテーブルの確認済みフィールドを更新するにはどうすればよいですか?
ruby-on-rails - 2つの異なる方法で相互に関連する2つのモデル間のActiveRecord関係を定義するにはどうすればよいですか?
私のアプリには、ユーザー、ビデオ、投票のクラスがあります。ユーザーと動画は、1対多または多対多の2つの異なる方法で相互に関連付けることができます。前者は、ユーザーが動画を送信する場合です(1人のユーザーが多数の動画を送信できます)。後者は、ユーザーがビデオに投票する場合です(ユーザーは投票を通じて多くのビデオを持っており、その逆も同様です)。これが私のコードですが、機能しません(私は、ビューで何か間違ったことをしている可能性があると思います)。これらの関連付けを構成する正しい方法を理解するのを手伝ってください。
ruby-on-rails - 自己参照関連による has_many
(例として)has_many
人の友人によるすべての投稿への関連付けを作成しhas_many :remote_posts
たいperson > friends > person > posts
.
..これが私がそれについて行く方法です
今、
...そして、このエラーが発生します..
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: people.person_id: SELECT "posts".* FROM "posts" INNER JOIN "people" ON "posts".person_id = "people".id WHERE (("people".person_id = 1))
外部キーエラーは別として、友情協会がまったく機能していないようです。:source => :posts
関連付けが 2 回行われるため、これは のせいではないかと考えてposts
いました。
finder sql を書くこともできます (それが現在私が取り組んでいるものです) が、もっと早くこの方法で書きたいと思います。
これを機能させる方法のアイデアはありますか?