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

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

ruby-on-rails - 2つの単一テーブル継承モデル間の関係

私は次の2つのモデルを持っています

会社であろうと個人であろうと、1つの連絡先に多くのContactFields(住所と電話番号)を持たせたいのですが...では、それらの連絡先が多く所属しているのはどこに置くべきですか?ありがとう

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

ruby-on-rails - has_manyの問題:RubyonRailsの関連付けを介して

has_many:throughアソシエーションに問題がありu1.UsersProfileAttributes.find_by_ProfileAttribute_name("icq")ます。メソッドを呼び出すことができません。railsは、このメソッドが存在しないことを意味します。この方法u1.UsersProfileAttributes.find_by_ProfileAttribute_id(3)は正しく機能します。u1はユーザーオブジェクトです。私の協会は大丈夫のようですので、何が問題なのかわかりません。見てください:

私の移行ファイル:

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

ruby-on-rails - 従来とは異なるデータモデルとのhas_manyの関連付け

has_manyアソシエーションに苦労しています。日記をつけています。モデルプレイヤーは以下の通りです。

  • ユーザー
  • UserFriend
  • UserFoodProfile

ユーザーの友達が食べた食べ物を全部手に入れたいです。だから、私は得ることができるようにしたいと思います:current_user.friends.profiles

これまで、にアクセスできるように関連付けを適切に設定しましたcurrent_user.friendsが、過去30日間のすべての友達のエントリも取得できるようにしたいと考えています。

これが私のモデルです

UserFriendモデルは、次のように設定されます。

  • id
  • ユーザーID
  • friend_id
  • friend_name

user_food_profilesユーザーの友達の現在の情報を「エントリ」として取得できるように、友達から接続したいのですが、user_food_profiles試したすべてがうまくいきませんでした。この関連付けをどのように設定しますか?

やろうとした:

  • UserFriend:has_many :user_food_profiles, :as => 'entries'
  • UserFoodProfile:belongs_to :friend, :foreign_key => 'friend_id'

これを機能させる方法について何かアイデアはありますか?カスタムfinder_sqlを作成したいのですが、これは関連付けで機能すると確信しています。

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

ruby-on-rails - ActiveRecord has_manyがdestroy_allではなくdelete_allを使用するのはなぜですか?

子供が多いモデルがあります。私はそのように子供たちを設定/削除していました:

after_destroyこれは問題なく機能しますが、子モデルでコールバック(つまり)が呼び出されていないことに気づきました。

少し掘り下げてみるとdelete_all、ではなく関数が実行されていることがわかりましたdestroy_all。ドキュメントに正しく記載されているように、delete_all関数はコールバックを起動しないので、この動作を変更する方法はありますか?

ありがとう。

0 投票する
5 に答える
1239 参照

sql - ActiveRecordを使用してRailsのタグですべての製品を検索

これはおそらく非常に単純なことですが、いわばタグですべての製品を取得する最適な方法を探しています。これはSpreeの場合なので、データをモデル化した方法に固執する必要があります。それは実際にProductそしてTaxon(カテゴリー、ブランドなどのように)

では、製品と分類群の場合has_and_belongs_to_many :taxons、分類has_and_belongs_to_many :products群ですべての製品を見つけるための最良の方法は何ですか?

何かのようなもの:

p>

...しかし、その最後のメソッドに何が入るのかわかりません(名前を作っただけです)。

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

ruby-on-rails - Rails:追加の詳細を持つ has_many?

私は完全な Ruby/Rails 初心者ではありませんが、まだかなり未熟で、モデルの関係を構築する方法を理解しようとしています。私が考えることができる最も簡単な例は、料理の「レシピ」のアイデアです。

レシピは、1 つまたは複数の材料と、各材料に関連付けられた数量で構成されます。データベースにすべての成分のマスターリストがあるとします。これは、次の 2 つの単純なモデルを示唆しています。

Recipes を Ingredients に関連付けるだけなら、適切なbelongs_toandを追加するだけで簡単has_manyです。

しかし、追加情報をその関係に関連付けたい場合はどうすればよいでしょうか? それぞれRecipeに が 1 つ以上Ingredientsありますが、の数量を示したいと思いますIngredient

それをモデル化するRailsの方法は何ですか? それはaの線に沿ったものhas_many throughですか?

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

ruby-on-rails - ActiveRecord has_manyここで、テーブルAの2つの列はテーブルBの主キーです

Couple2つの列を持つモデルと、およびfirst_person_id主キーが列を持つsecond_person_id別のモデルがあります。Personperson_idname

これが私が望む使用法です:

では、どうすればこれを行うことができますか?

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

ruby-on-rails - rails has_manyリレーションシップ(4モデル)とビューでのアクセス方法

私は4つのモデルを持っています:transac、transac_data、item、dvd_details

「transac」ビューで、次のようなすべてのモデルのコンテンツにアクセスする必要があります。

しかし、transacから「最も遠い」「DvdDetails」モデルからいくつかの情報にアクセスする必要もあります。

私は、このようなことをしても実際には機能しないことに気づきました。

「transac」ビューのインデックスでこれを行います

これを達成するために何をする必要がありますか?

どんな助けでも大歓迎です!ありがとうございました!

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

ruby-on-rails - ネストされたモデルでhas_manyをロールアップするnamed_scopeを定義する方法は?

まず、データモデル:

したがって、ユーザーはトピックをフォーラムに投稿できます。また、フォーラムのトピックにコメントを投稿することもできます。そして、彼らはコメントへの返信を投稿することができます。

トピック、コメント、または返信のいずれかを投稿して、参加しているフォーラムのリストを取得できるようにしたいと思います。

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

ruby-on-rails - has_many 関連付けの Rails 検証

子が存在する has_many 関係の検証で問題が発生していますが、親は存在しません。ただし、親オブジェクトを作成/保存するときは、特定の子 (特定の属性を持つ) が既に保存されていることを確認したいと考えています。

Parent反対するオブジェクトがありhas_many Childます。オブジェクトは最初Childにデータベースに永続化されるため、親への参照はありません。関連構造は次のとおりです。

たとえば、次の 3 つの子オブジェクトがあります。

親は、somePropertyhistoryおよびを持つ子オブジェクトが含まれている場合にのみ有効ですwindow

コントローラー内の親を次のように設定しています。

を使用して子を親に割り当てると<<、親の ID が存在しないため、子はすぐには保存されません。親が保存されるためには、少なくとも 2 つの子が必要です。どうすればこの問題を解決できますか? 任意の入力を歓迎します。