問題タブ [has-many-polymorphs]

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 に答える
9867 参照

ruby-on-rails-3 - HABTM ポリモーフィック リレーションシップ

私は Rails の初心者で、ポリモーフィックな HABTM 関係を作成しようとしています。問題は、関連付けたいモデルが 3 つあることです。

1 つ目は Event モデルで、次に 2 種類の出席者 (ユーザーと連絡先) です。

私がやりたいことは、出席者としてユーザーと連絡先の両方を関連付けることができるようにすることです。だから、私のコードで今持っているものは次のとおりです。

イベントモデル

ユーザーモデル

連絡先モデル

  1. HABTM テーブルの移行はどのようにする必要がありますか? 私は少し混乱していて、それについて何の助けも見つかりませんでした。
  2. それはうまくいくでしょうか?
0 投票する
1 に答える
218 参照

ruby-on-rails - 異なるクラスの Has_many

これが事です。

私は学習のためだけにWebゲームに取り組んでいますが、この問題があります。

私は多くのアイテムを持つキャラクターを持っていますが、アイテムはequipable_itemsまたはusable_items(異なるクラスの両方)である可能性があります.

Character クラスに has_many を持ち、両方のクラスのアイテムのバッグを一緒に持つ方法はありますか?

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

ruby-on-rails-3 - ポリモーフィック :has_many, :Rails 3.1 プラグインのモジュールとして

これへのポインターをどこでも検索しましたが、見つかりません。基本的には、:has_many、:through の方法でポリモーフィックなリレーションシップを作成するときに他の人がやりたいことをしたいのですが、モジュールでやりたいのです。私は立ち往生し続け、単純なものを見落としているに違いないと思います。

ウィット:

次のような移行を使用します。

もちろん、その考えは、acts_permissive をロードするものは何でも、それが所有するサークルのリストを持つことができるということです。

簡単なテストの場合、私は持っています

これは失敗します:

私は試しました: :class_name => 'ActsPermissive::PermissiveCircle'has_many :ownables 行で使用すると、次のように失敗します:

提案に従っている間、設定:source => :ownableは失敗します

これは、非ポリモーフィックスルーで物事を行うことが必要であることを示唆しているようです。そこで、ここでのセットアップに似た circle_owner クラスを追加しました。

移行の場合:

それでも失敗します:

それは私たちを最初に戻します。

  1. モジュールでかなり一般的な多態的 :has_many, :through のように見えることをどのように行うことができますか?
  2. あるいは、モジュールで機能するのと同様の方法でオブジェクトを任意のオブジェクトによって収集できるようにする良い方法はありますか?
0 投票する
1 に答える
742 参照

ruby-on-rails - 別の多態性関連テーブル

Ruby on Rails のガイドと、ポリモーフィック アソシエーションに関する質問に対するスタック オーバーフローの回答をいくつか読んだ後、その使用と実装は理解できましたが、特定の使用シナリオについて質問があります。複数の、、およびその他のさまざまなモデル (さまざまな もあります)tagsに関連付けることができますが、参照フィールド ( 、) をテーブル内に配置する代わりに、別の関連付けテーブルを作成することをお勧めします。これはまだ使用できますか?topicscategoriesimagestagsforeign_idforeign_typetags:polymorphic => true

このようなもの:

これが不可能な場合は、同じ:object_tagsテーブルを作成し、モデル内および他のモデル:conditions内で使用して関連付けを強制することを計画していました。Tagこれを行うレールの方法はありますか?ありがとう!(rails 3.0.9 & ruby​​ 1.8.7 で動作 <-デプロイメント サーバーがまだ 1.8.7 を使用しているため)

更新: ありがとうデルバ! Answerは、HABTM ポリモーフィズムの有効なソリューションです。

更新:双方向の HABTM が必要なため、個々のテーブルの作成に戻りました。

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

ruby-on-rails - フォームを介してアップロードされたファイルからネストされた属性アセットのattr_writerにアクセスする

私は次のモデル構造を持っています

アセットに関連付けられた値にuser_idを入れたい。アップロードされたファイルに変数を関連付けるのに問題があります。投稿されたデータは次のとおりです。

Assetのsession_user_idにアクセスしたい。items_controllerに、次のものを追加しました。

しかし、エラーメッセージが表示されます:

「3」の未定義のメソッド`asset':String

すべてのバリエーションを試したような気がします。これを機能させる方法は?

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

ruby-on-rails-3 - ポリモーフィックな has_many :関係を通じて

私はいくつかの関連する質問を読み、以下のように has_many :through + polymorphic との関係を設定しようとしました。

「Authorship」の移行ファイルは次のとおりです。

以下のようなデータを追加しました。

データを確認すると、これは正常に機能します。

これはnilを返しますが。

エラーが見つかりませんでした。私を助けてください!

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

ruby-on-rails - 子レコードに特定の条件で親レコードを選択するには?

Rails 3 と MongoDB (mongoid アダプター) を使用してアプリケーションを構築しています。子レコードで特定の条件を持つ親レコードを見つけるのに苦労しています。

特定のユーザーが購読していない食品を選択したい。

これが機能しないクエリです。

しかし、それはすべての食べ物を返します。クエリの何が問題になっていますか?

どんな助けでも大歓迎です。

ありがとう

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

ruby-on-rails - 複数の has_many ":as" ポリモーフィック リレーションを同じフィールドに割り当てることは可能ですか?

このようにデータベースをセットアップします(STIを介して異なる種類のユーザーがいますが、「タイプ」は常にユーザーです):

はがきモデル:

User モデルを次のようにセットアップしたいと思います。

だから私は言うことができます:

出来ますか?

PS:私もこの道を試しました:

しかし、 :finder_sql がまったく新しい SQL を再作成するため、スコープに行き詰まっていることに気付きました。

0 投票する
0 に答える
88 参照

ruby-on-rails - 複数のhas_many:throughを通過する方法は?

クエリを実行しているものから2つのリレーションが格納されている情報にアクセスする必要があります。

ですから、私がやりたいのは、InformationTypeが何であれ、1つの場所に属するすべての情報を見つけることです。

ベストケースは次のようなものになりますInformation.where(location: 'Location A')

誰もがこれを実現する方法を知っていますか?

- - アップデート - -

これを追加することで、少なくとも情報に属する場所を取得することができました。

delegate :location, to: :information_type

私が今どういうわけかこれを機能させることができれば:

Information.where(location: 1)

とてもうれしくなる。誰?:)

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

ruby-on-rails - Rails ポリモーフィック アソシエーション - has_many 条件エラー

Rails 3.2.8 を使用していますが、ポリモーフィックな関連付けに問題があります。私は、asset_file、伝記、dynamic_annotation、または引用である可能性のある別のポリモーフィック モデルの貢献に関連するポリモーフィックなモデル アクティビティを持っています。

つまり、祖父は活動です...父は貢献であり、最後に(貢献の)息子は伝記、asset_file、dynamic_annotations、またはcitationsです。

私は、次のコードを持っているこれらの概念をすべて集約する私のモデルのものです:

問題: コンソールを開き、次のクエリを入力しました。

私が得たSQL:

それが正解です

次に、コマンドの後に入力しました:

私が得たSQL:

オブジェクトは 2 種類のコルスを持つことができないため、無効な結果が得られました。

誰かがそれで私を助けることができれば、私は感謝します:)

前もって感謝します、