問題タブ [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 - has_many AND has_one を使用して 2 つのテーブルをリンクしますか?
これはすでに何百万回も尋ねられていると思います。よく検索していないだけです。次の設定があります: 多くのイベントを持つインストラクターがいます。各イベントにはインストラクター (所有者/作成者) が 1 人しかいません。別のリンケージを追加して、他のインストラクターを関連付けることができるようにしたいが、元のインストラクター (所有者) は保持したい。私は大雑把な ASCII 表現を持っていますが、私の人生では Rails モデルでそれを行う方法を理解することはできません。
activerecord - Rails 3のhas_many:through関係で子オブジェクトをフィルタリングする
ご挨拶、
メンバーシップに関する追加情報(具体的には、ユーザーが会社の管理者であるかどうか、ブール値を介して)を含むモデルを介して相互に属する必要があるアプリケーションがCompanies
あります。コードの単純なバージョン:Users
CompanyMembership
admin
もちろん、これにより、などを介して会社のすべてのメンバーを簡単に取得できますcompany.users.all
。ただし、その会社の管理者である会社のすべてのユーザーのリストを取得しようとしています(また、ユーザーが特定の会社の管理者であるかどうかをテストしようとしています)。私の最初の解決策は次のとおりでしたcompany.rb
:
これは機能しますが、何かが非効率に感じられ(各メンバーシップを反復処理し、毎回SQLを実行しますか?それともRelationはそれよりも賢いですか?)、これを実行するためのより良い方法があるかどうかはわかりません(おそらくRails 3が使用するスコープまたは派手な新しいRelation
オブジェクト?)
続行するための最良の方法(できればRails 3のベストプラクティスを使用する)に関するアドバイスをいただければ幸いです。
ruby-on-rails - Rails: 異なるデータベースのテーブル間の has_many_through 関連付けの設定
別の結合モデル AccountOwnership を介して、2 つのモデル User と CustomerAccount の間の has_many :through 関係をセットアップしようとしています (users と account_ownerships テーブルは 1 つのデータベースにあり、db1 と言い、customer_accounts テーブルはリモート db にあり、db2 とします)。
関連付けを設定する関連コードは次のとおりです。
config/database.yml (ここには示されていませんが、構成は正しいです)
スクリプト/コンソールで
また
しかし
ここでの問題は、「account_ownerships」および「users」テーブルが 1 つのデフォルト データベース (db1 など) に含まれており、「customers」テーブルが別のデータベース (db2 など) に含まれていることです。データベースへの接続は適切に構成されていますが、ルックアップ中に使用可能なデータベース接続オブジェクトが 1 つしかないため、Rails は db2 で account_ownerships データベースを見つけようとして失敗します。
同じ db 接続を使用して 2 つの異なるデータベースに接続する方法が見つからないため、設計/ロジックに欠陥があるように見えますが、設計を変更せずに回避策があるかどうかを確認したいと思います。(db2 は私の管理下にないため、設計を変更するのは気が進まない)
account_ownerships テーブルを db2 に移動することでこの問題を回避できるようですが、これは少なくとも私にとっては理想的ではありません。
Railsでこの関連付けをセットアップするための代替メカニズム/スキーマはありますか?
前もって感謝します。M
django - Django - フォームとビューで中間テーブルを使用して多くのことを処理する良い方法は何ですか
次のモデルがあるとします-
多くの場合、 にitems
「割り当て」られると、関連するオブジェクトorganization
に最初に記録された値と同じ値になります。Item
ただし、場合によっては、組織に割り当てられたアイテムが上書きされることがありますvalue
(したがって、中間モデル)。元の値を上書きすることはめったに起こらないので (実際には起こります)、ユーザーがインスタンスitems
のリストから必要なものを選択Item
して、それらを組織のインスタンスに割り当てることができるようにしたいと考えています。ユーザーは、一括割り当てが完了した後で個々の値を上書きするオプションを利用できます。
だから私は次の単純なModelFormを持っています -
モデルがあるthrough
ので、単純な form.save() は機能しません。(i)Customizable
ユーザーが選択したアイテムに対応するインスタンスを保存し、(ii) 永続化されたインスタンスが、foreignkey によって関連付けられたインスタンスから取得された対応するインスタンスからCustomizable
適切に取得されていることを確認する必要があります。value
value
item
私はビューでそれを処理しようとしています (しかし、私の心はブロックされています) -
sql - 多対多の関連付けられたレコードの数による行の並べ替え
このような SO エントリが他にもたくさんあることは知っていますが、実際に私の質問に答えるエントリが見つからないので、誰かがそれに答えるか、関連する別の SO の質問を教えてくれることを願っています。
基本的に、検索された(この例では「foobar」)を含むVenue
s を持つ sを返す次のクエリがあります。CheckIn
Keyword
したいのSELECT
と、指定された ごとORDER BY
に一致したの数。たとえば、 に関連付けられた 5 つの が作成された場合、ソートされた値を含む( のようなものと呼ばれる) 列が返されるはずです。Keyword
Venue
CheckIn
Keyword
keyword_count
5
SELECT
理想的には、これは句にクエリを使用せずに実行するか、できればまったくクエリを使用しないで実行する必要があります。
私はしばらくこれに苦労してきましたが、頭が真っ白になりました(おそらく1日が長すぎました)ので、ここでいくつかの助けをいただければ幸いです.
前もって感謝します!
ruby-on-rails - :has_many:throughアソシエーションをbelongs_toアソシエーションに設定するRuby on Rails
私には3つのモデルがあり、それぞれに次の関連付けがあります。
コメント文でわかるように、私は必要なものについて述べました。
ruby-on-rails - Rails has_many による create メソッドの失敗
私は3つのモデルを持っています:
次に、新しいプロジェクトを作成し、それにユーザーを割り当てることができるフォームを作成します。
フォームは次のとおりです。
ただし、何らかの理由で、レコードが機能するためにUserProject
テーブルに存在する必要があります。
関連付けが存在しない場合に関連付けを作成する方法について何か考えはありますか?
ruby-on-rails - 冗長に見える ActiveRecord の has_many 定義
取り組んでいるプロジェクトにスタイルの関連付けを適用してきhas and belongs to many
ましたが、結合モデルで追加の情報を取得したかったためbelongs_to
、. 最初にこれに出くわした後、モデル User にこれらの両方の定義が必要であることを知りました (対応する Show モデルでも同じです)。has_many
has_and_belongs_to_many
私の質問は、Rails 構文の設計に関するものです。なぜなら、ここで全体像を見落としていないことを確認したいからです。なぜ最初の構文が必要なのですか? という非標準名の中間体を介してユーザーがショーのリストにアクセスできることを確立している場合saved_shows
、なぜ も確立するのhas_many :saved_shows
でしょうか?
これに引っかかったのは私が初めてではないと思うので、Rails がこの一見冗長な定義を必要とする理由に興味があります。構文の選択が不適切なだけなのか、それとも背後にもっと深い設計があるのか?
ruby-on-rails - rails 3 has_many :スルーレコード保存エラー
私の問題が正確にはわからないので、この質問にはさらに説明が必要かもしれませんが、最も関連性が高いと思われるものは次のとおりです。
結合モデルにはhas_many :through
、外部キーではないフィールドがいくつかあります。モデルを構築して保存しようとすると、結合モデルからの非外部キー フィールドで検証エラーが発生します。
私のファイルは次のようになります。
(ロールは文字列です)
返されるパラメーターは次のようになります。
正確なエラーは次のとおりです。
で見ることができるので、これは明らかに正しくありません。params[]
私は何を間違っていますか?
これはレール3.0.0です
ruby-on-rails - :throughアソシエーションの結合テーブルに条件が設定されているRailsで検索するにはどうすればよいですか?
私は次のモデルを持っています:
ユーザーがアクセスできるタスクのみを表示できるようにしたい(つまり、read
フラグがテーブルで設定さtrue
れている)。Permissions
私は次のクエリでこれを達成できますが、私にはあまりRails-yのようには見えません:
誰かがこれを行う正しい方法を知っていますか?