問題タブ [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 投票する
2 に答える
500 参照

ruby-on-rails - 3 つのモデルを介して関連付けを通じて has_many を提供する方法は?

誰かがすでにこれを経験していることを願っています。私を助けてください、どうすればこの問題を解決できますか:

「著者」の「アドレス」を取得しようとすると、コンソールに次のエラーが表示されます。

しかし、author.articles[0].addressうまく動作します。

どうすれば解決できるのか、アドバイスをいただければ幸いです。ありがとう。

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

ruby-on-rails - has_many :質問を通じて

以前は has_and_belongs_to_many を使用していましたが、has_many :through に変換しました。多くのユーザーがプレイできるゲームのリストを検索する方法を次に示します。これで、game.users と user.games.... を実行できます。

そして、結合テーブルのデータベース移行:

私はこれをすべて理解しているかどうか確信が持てません。私の事実を確認するのを手伝ってください:

  1. 従属 => :destroy は正しいですか? ゲームまたはユーザーが破棄された場合に「game_users」参加テーブル エントリを削除したいのですが、ゲームが削除された場合やその逆の場合にユーザーを削除したくありません。

  2. uniq フィールドは、ゲームには一意のユーザーのみが含まれ、ユーザーには一意のゲームのみが含まれることを示すことになっています。あれは正しいですか?

  3. 以前のデータベースの移行には :id => false があります。それでもそれは正しいことですか?コンソールでゲームを破壊してみましたが、ID が見つからないという苦情がありました。

Rails のアクティブ レコードの関連付けは非常にわかりにくいと思います。私は彼らがすべきではないと思います!

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

ruby-on-rails - ユーザー、ロール、およびプロジェクトを作成するRails

私はまだレールとアクティブレコードにかなり慣れていないので、見落としがある場合はご容赦ください。

ユーザー定義の役割を使用してアクセス許可スキームを作成するために、3 つのモデルを結び付けようとしています (そして、実際に結び付けようとしている 4 つ目のモデル)。

project_roles モデルには、ユーザー定義のロール名と、特定のロールが特定のタスクに対する権限を持っているかどうかを定義するブール値が含まれています。アプリケーションのプロジェクト部分のどこからでも簡単に参照できるエレガントなソリューションを探しています。

私はすでに、アプリケーション全体にロール システムを実装しています。私が本当に求めているのは、ユーザーがプロジェクトごとに自分の役割を管理できるようになることです。すべてのプロジェクトには不変のデフォルトの管理者ロールが設定され、プロジェクト作成者はプロジェクトの作成時に追加されます。

ユーザーがロールを作成しているので、関連付けを介してプロジェクトとユーザー モデルからロール名のリストを取得できるようにしたいと考えていますが (表示目的で)、アクセスをテストするために、単にロール名で参照したいと思います名前で参照せずにアクセスできます。

おそらくこのようなものですか?

私はこれをどのように実装するのが最善かについてぐるぐる回り続けているので、私はこれについて頭を悩ませていると思います。

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

ruby-on-rails - RoR:has_manyとの関連付けを破棄します。孤立している場合は:through

Ryan Batesの仮想属性に関する優れたチュートリアルを考えると、記事が破棄された後、そのタグが使用されなくなった場合、(タグ付けではなく)タグを破棄するにはどうすればよいですか?

私はこのようなことをしてみました:

...しかし、それは機能していないようです(他の記事でタグが使用されていなくても、記事が削除された後もタグは存在します)。これを達成するために私は何をすべきですか?

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

ruby-on-rails - ROR自己参照 has_many with accept_nested_attributes_for

誰かがこれを簡単に見てくれるのではないかと思いました。測定単位を変換する簡単な変換アプリケーションを作成しています。それぞれの間の変換とともに、それぞれの間の関係を格納する結合テーブルを使用して、テーブルを自己参照できるようにする必要があります。これは、関係のいずれかの側の間で参照されます。たとえば、1cm = 10mm、10mm = 1cm です。

これまでのところ、私はこれを持っています:

ほとんどの場合、これで問題なく動作します。関連するメジャーの名前にアクセスできないことを除いて、所有者のみ。

私はこのように何とかそれを取得する必要があります:

しかし明らかに私の最善の努力にもかかわらず、私はそれをセットアップしてエラーを受け取ることができません。

助けていただければ幸いです。:)

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

ruby-on-rails - 特異な関連付けによるRails has_many

これはおそらく非常に単純ですが、私はまだ問題を理解できていません。

私は3つのテーブルを持っています...(それ以上)が、このシナリオでは3つが重要です。

場所の予約と評価

Places has_many の予約

各予約には、(ユーザーが 1 回だけ評価するため) 1 つの評価があり、belongs_to (a) 場所

評価の所属先 (a) 予約

したがって、予約には評価が 1 つしかありませんが、場所には多くの予約があるため、場所には予約を通じて has_many の評価があります。

しかし、これはうまくいかないようですか?残りはすべてそうです。

Bookingsにはplace_idがあり、Ratingsにはbooking_idがあり、関連付けを通じて他のすべてのhas_manyで成功しました... has_oneだけではありませんか? 何か案は?ありがとう

追加: Bookings を has_many :ratings に変更すると機能しますが、予約ごとに評価が 1 つしかないため、これは良いことではないようです。

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

ruby-on-rails - 使用には多くの :through があります

関連付けによる has_many => の使用。

これが私が持っているものです。

:企画モデル

:アクトモデル

:actcategories モデル

:acttype モデル

私の問題はここから始まります。actcategories アソシエーション一部である計画から各アクト タイプごとにすべてのアクトを表示する必要があり ます。

プランニング コントローラー

企画ショービュー

助けてくれてありがとう。

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

ruby-on-rails - typus に関連している可能性がある Rails 関連付けエラー

協会に問題があります。RoR の初心者として、私は RoRサイトのガイドから関連付けについて学びました。私は例の1つをほぼ文字どおりに追跡しました.変更されているのはクラス名だけです. 例は次のとおりです。

私のプロジェクトでは、ドキュメント、セクション、段落ではなく、ウィザード、ページ、フィールドです。この例に従うだけでなく、管理インターフェイスとしてTypusも使用しています。すべてが正常に機能しているように見えました。ウィザードを作成しました。次に、ウィザード セクションからページを作成しました。ページに関連付けるフィールドを作成しようとすると、エラーが発生しました。

. 残念ながら (これは私の検索用語かもしれませんが)、Google は私にとって役立つと思われるものを何も表示しないようです。これを機能させる方法についてアドバイスはありますか?すべてを明確に述べていない場合は、事前に申し訳ありません。

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

ruby-on-rails - 無効なソースリフレクションマクロ:has_many:through

私はそのような怒っている協会を持っています:資金調達>-イベント>-サブプログラム>-プログラム。プログラムからlast_financingsへのアクセスをすべてのプログラムから取得したいので、コードは次のとおりです。

したがって、after_initialize関数でsubprogram_last_actual_financingsにアクセスしたい場合、このエラーが発生します

しかし、私のアソシエーションには:sourceオプションがあります。私は何が間違っているのですか?