問題タブ [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.

0 投票する
1 に答える
138 参照

ruby-on-rails - RoR で異なるタイプの複数の要素を相互にリンクするにはどうすればよいですか?

私はイベント、ドキュメント、および調査をすべて相互にリンクできるようにする必要があります。次のように 4 つの列を持つリンク テーブルを作成することを計画していました。

問題は、要素タイプ フィールドを使用して、対応する要素 ID が属するテーブル (ドキュメント、イベント、または調査) を識別できるように、RoR でモデルを作成する方法がわからないことです。私はRubyに本当に慣れていないので、助けていただければ幸いです。

0 投票する
2 に答える
1353 参照

ruby-on-rails - 集約条件付き has_many Rails 関連付け

これが実現可能かどうか、または望ましいかどうかはわかりません

しかし、has_many リレーションシップまたは条件付きの named_scope タイプのリレーションシップを構築して、2 つではなく 1 つの単純なリレーションシップで問題を解決したいと考えています。

現在、基本的に同じ情報を含み、同じキー room_id を介して同じモデル ルームに属している 2 つのモデルがありますが、2 つの異なる方法でデータを保持しています。1 つは特定の日付に関する特定の情報を含み、2 番目の一般的な曜日の料金は含まれています。主な障害は、Availables に特定のレコードの情報がまったく含まれていない可能性があることです。その場合、特定の日付の特定の価格ではなく、平均の room_rates に従う必要があります。

指針や提案はありますか?ありがとう

利用可能

客室料金

それとも finder_sql メソッドでしょうか? そのような:

ただし、room_rates に参加して、存在しない予約日の欠落レコードを埋める必要もあります。

0 投票する
4 に答える
36496 参照

ruby-on-rails - Ruby-on-Rails:複数のhas_many:スルー可能ですか?

has_many :throughRailsで相互に通過する複数の関係を持つことは可能ですか?私が投稿した別の質問の解決策としてそうするようにという提案を受けましたが、それを機能させることができませんでした。

フレンドは、結合テーブルを介した循環的な関連付けです。目標はhas_many :throughforを作成することですfriends_comments。これにより、aを取得して、1回のクエリで彼の友人からのすべてのコメントを取得するUserようなことができます。user.friends_comments

これは見栄えがよく、理にかなっていますが、私にはうまくいきません。これは、ユーザーのfriends_commentsにアクセスしようとしたときに関連する部分で発生するエラーです。
ERROR: column users.user_id does not exist
: SELECT "comments".* FROM "comments" INNER JOIN "users" ON "comments".user_id = "users".id WHERE (("users".user_id = 1) AND ((status = 2)))

user.friendsと入力するだけで、これが機能します。これは、実行されるクエリです。
: SELECT "users".* FROM "users" INNER JOIN "friendships" ON "users".id = "friendships".friend_id WHERE (("friendships".user_id = 1) AND ((status = 2)))

has_manyそのため、友情関係を通じてオリジナルを完全に忘れてしまい、Userクラスを結合テーブルとして不適切に使用しようとしているようです。

私は何か間違ったことをしていますか、それともこれは単に不可能ですか?

0 投票する
1 に答える
601 参照

ruby-on-rails - has_many:throughおよびFormBuilder.fields_for

Bar次のように定義された、構成キーと値のユーザー定義リストを持つクラスがあります。

したがって、使用可能な構成キーはクラスからFoo取得され、それらの値はクラスから取得されますBar

このBarクラスのフォームを作成しています。プロパティをラベルとしてconfig_keys使用する場合は、各フィールドをループする必要がありますが、テキストボックスはnamevalueconfig_values

私が見ているのは、

f.fields_forはコレクションで私のためにループをするだろうと思いました。

私はこれに正しい方法でアプローチしていますか?私は本当にフレームワークと戦っているような気がします。

0 投票する
3 に答える
3639 参照

ruby-on-rails - ユーザー has_many :users, :through => :friends - どのように?

これは私のコードです:

ユーザーの追加を開始すると...

フレンドの user_id のみが入力され、friend_id は null です。

何か助けはありますか?

あなたの、ジョーン。

0 投票する
3 に答える
967 参照

ruby-on-rails - Rails 2: has_many :検証を通じて?

Rails 2.1.0 (いくつかの制約により、今のところアップグレードできません) これを達成しようとしています。ヒントはありますか?

  1. プロジェクトには、結合モデルを通じて多くのユーザーがいます
  2. ユーザーは結合モデルを通じて多くのプロジェクトを持っています
  3. Admin クラスは User クラスを継承します。また、いくつかの管理者固有のものもあります。
  4. スーパーバイザーとオペレーターの管理者のような継承
  5. プロジェクトには、1 人の管理者、1 人のスーパーバイザー、および多数のオペレーターがいます。

1. プロジェクト、管理者、スーパーバイザー、およびオペレーターのデータを 1 つのプロジェクト フォームで送信します。2. すべてを検証し、プロジェクト フォームにエラーを表示します。

アプローチは正しいですか?あらゆる提案を歓迎します。

0 投票する
3 に答える
183 参照

ruby-on-rails - これはhas_many:throughアソシエーションでさえあるべきですか?

投稿はユーザーに属し、ユーザーは多くの投稿を持っています。
投稿もトピックに属し、トピックには多くの投稿があります。

これは非常にシンプルで設定が非常に簡単ですが、トピックを表示するときは、そのトピックのすべての投稿だけでなく、その投稿を作成したユーザーのuser_nameとuser_photoも必要です。ただし、これらの属性はユーザーモデルに保存され、トピックに関連付けられていません。では、どうすればそれを設定できますか?

Postモデルにはユーザー用とトピック用の2つの外部キーがあるので、おそらくすでに呼び出すことができますか?

または、おそらくこれは、関連付けによるある種の「一方向」のhas_manyです。Postが結合モデルであり、トピックがhas_many:users、:through =>:postsであるように。しかし、これの逆は真実ではありません。ユーザーのようにhas_many:topicsはありません。

それで、これはhas_many:thoughアソシエーションである必要さえありますか?コントローラーが特定のトピックに対して投稿とその投稿のユーザーの両方を呼び出すように見えるかについて、私は少し混乱していると思います。

編集:真剣に、すべてのことを検討してくれてありがとう。私はコントローラーに彼のコードを使用したので、talの答えを選びました。ただし、代わりにj。またはtimを簡単に選択することもできます。両方ともありがとう。これは非常に簡単に実装できました。今日はレールとの恋愛の始まりかもしれないと思います。

0 投票する
3 に答える
2052 参照

php - MySQL:4テーブル「has-many-through」結合?

次の4つのテーブルがあるとしましょう(例として):所有者、トラック、ボックス、リンゴ。

所有者は多くのトラックを持つことができ、トラックは多くの箱を持つことができ、箱は多くのリンゴを持つことができます。

所有者にはIDがあります。トラックにはidとowner_idがあります。ボックスにはidとtruck_idがあります。リンゴにはidとbox_idがあります。

id = 34の​​所有者が「所有」しているすべてのリンゴを取得したいとします。したがって、所有者34が所有するトラックの箱に入っているすべてのリンゴを取得したいとします。

それぞれが直接の「親」への参照のみを持つ4つのテーブルの場合、「階層」があります。他の3つのテーブルの条件を満たすときに、ボックスをすばやくフィルタリングするにはどうすればよいですか?

それがある程度理にかなっていることを願っています。

ありがとう。

0 投票する
1 に答える
685 参照

ruby-on-rails - ActiveScaffold で has_many, :through を実装することは可能ですか?

次のモデルを検討してください。

このタイプの関係を管理するために ActiveScaffold を使用することは可能ですか? ArtistEvent モデルは、位置の追加属性を使用して hbtm 関係を定義するために存在します。

ありがとう!

ジョナサン

0 投票する
1 に答える
252 参照

ruby-on-rails - レールで関連付けを介して has_many で関連付けを介して has_many を実行するにはどうすればよいですか?

警告: 間違った「問題の説明」があるかもしれませんが、次のようになります。

キャンペーンには多くの連絡先があります。

キャンペーンには多数のメールがあります。

したがって、連絡先にはキャンペーンを通じて多くの電子メールがあります。

また、メールはキャンペーンを通じて多くの連絡先を持つことができます。

連絡先と電子メールの各ペアには、独自の一意のステータス (status1、status2 など) があります。

各ステータス (連絡先と電子メールのペア) には、独自のユーザーが割り当てられます。

ステータスまたはユーザーをモデル化する方法がわかりません。現在当面の課題はステータスです。

(下の図を参照)

代替テキスト