問題タブ [has-many]
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 - このテーブルに属するすべての要素を出力する方法
わかりました、私のタイトルが十分に明確だったかどうかはわかりませんが、説明しようと思います
私は 2 つのテーブルを持っています。私は RoR の学習を始めたばかりで、単純なタスクに固執しています。私が望むのは、次のような注文と関連アイテムを表示することだけです:
注文 1:
アイテム 1
アイテム 2
注文 2:
アイテム 1
アイテム 2
...
注文や商品を別々に表示する方法、商品の注文(item.order.id)を表示する方法は知っていますが、上記のように注文と商品をテーブルに表示する方法はありますか? 注文を表示するテンプレートでは、反復ごとに各アイテムを調べて、それを外部の order_id と order.id と比較できますが、それは厄介です。キーがorder_idであるある種の多次元ハッシュにアイテムを取得する必要があると想定しています。次に、このハッシュを注文IDで参照して、その中のすべてのアイテムを取得できますが、それが正しいかどうかはわかりません。
ここに書いたことは理解できると思います。
ruby-on-rails - has_manyアソシエーションが事前入力されたRailsモデルのインスタンスを作成します
これは例によって最もよく説明されます。以下は簡単です。
ただし、2行目を明示的に実行せずにすべてのFooオブジェクトをBarで初期化する必要があります。
これは可能ですか?理想的には、「デフォルト」オブジェクトは、2a行目を明示的に実行する場合と同じ方法で関連付けられるため、親Fooオブジェクトが保存されるときに保存されます。
ruby-on-rails - has_many を使用するときに default_scope から抜け出す方法はありますか?
私はツリーのようなモデルを持っていますが、1 つを除くすべての状況で、ルートのみを返すように結果をスコープしたいと考えています。
default_scope
License に関連付けられているさまざまなモデル (約 4 つあります) と、find() を使用するコードは特別なことをする必要がないため、使用は素晴らしいアイデアのように思えました。これが素晴らしいアイデアではない理由は、デフォルトのスコープが にも適用されhas_many
、その結果、子が見つからないためです。しかし、これは範囲外にする必要has_many
がある唯一の場所なので、「デフォルト」の動作に関する限り、これdefault_scope
は非常に合理的だと思います。
では、この特定の問題を回避する良い方法はありますか?
これは、ほとんど些細なクエリに SQL を使用するため、私があまり好きではないものです。
または、名前付きスコープをモデルからの関連付けに適用する方法はありますか? たとえば、このナンセンスコードの行に沿った何か:
私もこれを行うことができることを知っています:
しかし、それは実際にはあまり DRY ではありません。正直に言うと、実際にすべてのクエリを実行するLicence.roots.find()
代わりに、Licence.find()
それほど DRY ではありません。スコープが使用されていない場所でバグが発生することを求めているだけです。
ruby-on-rails - Rails3:デフォルトの条件をhas_manyに設定する方法
私は箱とボールを持っています。ボールは箱に入っています。ボールは赤と緑のどちらでもかまいません。
has_manyを緑色のボールだけで設定したい。finder_sqlメソッドが存在することは知っていますが、スコープを介して設定する方法がわかりません。
次の例を同等にしたいと思います。
ruby-on-rails - has_many への belongs_to 参照との has_many 関連付けの乱れ
私のデータは次のようになります。
次のようにチームを作成します。
@team.persons をリストすると、@team.leader が最初の id を持ちます。これは、@team.save が person の前にリーダーの関連付けを保存しているためだと思います。私はそれらが提供されている順序である必要があります.
ありがとう!
ruby-on-rails - Rails:非ID外部キールックアップActiveRecord
ActiveRecord
テーブルから非ID列で検索したい。コードサンプルを提供するときに、これが明確であることを願っています。
私がするとき
coach_obj.coach_classes
、これは正しくトリガーします
(2は私の問題であるそのコーチがid
ここにいることです。)
トリガーしたい
(「David」はそのコーチですuser_name
)
user_name
は一意であり、両方のテーブルに存在します。
なんらかの理由coach_id
でテーブルに入れたくありません。coach_classes
ruby-on-rails - Ruby on Rails - 1 つを持ち、多数の関係に属します
この質問は、Ruby on Rails ActiveRecord の関連付けと、それらの移行を生成する方法に関連しています。
ドキュメント/データ管理システム用の Web アプリを構築しようとしていますが、Arg と Descriptor の 2 つのモデルがあります。(記述子を属性ではなくオブジェクトにする理由は、複数の Arg が同じ記述を共有するためです)。Arg と Descriptors の関係は次のとおりです。Arg には 1 つの記述子しかありません。ディスクリプタには多数の引数があります。
基本的に、コードでは、次のことができるようにしたいと考えています。
現在、私はこの設定をしています:
これらの移行も実行しました。
上記のすべてを試してみると、何らかの理由で 2 つの Args で Descriptor オブジェクトを共有できません。例えば:
最初の Arg の記述子が nil になったのはなぜですか?? データベースに列がありませんか? 関係を正しく指定していませんか?
私はレールや移行/データベースにあまり精通していません。概念を説明している場合は、ActiveRecord のコード例と Migrations のコード例の両方を提供してください。ありがとう。
ruby-on-rails - belongs_to has_one 関連付けられたレコードの保存
私が持っている場合
.
質問: Book のインスタンスを保存すると、関連付けられたユーザーに対しても保存が呼び出されますか?
私のコードベースでは、@ somebook.save を呼び出すと、'ユーザーの after_save コールバックが実行されていることがわかりました。
ruby-on-rails - Rails での多対多の関係
m 対 m の関係で接続したい 2 つのモデルがありますが、その関係には、期日やカウントなどの独自のデータが必要です...
ユーザー、グループ、およびいくつかの UsersInGroups オブジェクトがあり、ユーザーとグループの両方にhas_many X, :through Y
関係があるとします。UsersInGroupsbelongs_to
はユーザーとグループですがjoin_date
、ユーザーがいつグループに参加したかを示す もあります。
self.groups.A
ユーザーからグループ変数を取得するために使用できますが、join_date
変数を取得するにはどうすればよいですか?
ruby-on-rails - has_many : 連想問題を通して
私はRubyの初心者であり、 has_many :through 関連付けに問題があります。私のシステムは現在、Authlogic と Declarative_auth でセットアップされています。ユーザーをファイルすると、送信時に渡されていることが示されていても、ユーザーテーブルに role_id が挿入されないことを除いて、すべてが正しく作成されます。また、id を割り当てテーブルに保存しません。まず最初に、users テーブルに role_id が必要なのかという疑問があると思います。次に、割り当てテーブルの user_id および role_id フィールドをforeign_keyとして宣言する必要がありますか、それともレールはこれを自動的に処理しますか? これについて何か助けていただければ幸いです。