問題タブ [model-associations]

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 投票する
3 に答える
4115 参照

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

Rails のポリモーフィック アソシエーションを把握するのに苦労しています。グループとユーザーの 2 つのモデルがあります。

ユーザーはグループに所属する必要がありますが、グループは複数のユーザーと複数のグループを持つことができます。グループをツリーのようにする必要があり、Ancestry gem が役立つと思いますが、まだ試していません。

user_id と group_id を持つ何らかの結合モデル、Membership が必要なようです。次に、 has_many :through を実行してユーザーをグループに関連付けることができますが、どうすれば多くのグループも持つことができるでしょうか? メンバーシップはポリモーフィック モデルになりますか?

ありがとう!

アンディ

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

ruby-on-rails-3 - simple_form_forエラー:未定義のメソッド-関連付けられたモデル

Railsアプリケーションには、MagazineとArticleという2つの関連モデルがあります。

雑誌

記事

ルート

schema.rb

記事の新しいページから、雑誌に関連付けられた新しい記事を作成しようとしています。そこで、雑誌のショーページにリンクを作成して、選択した雑誌を新しい記事のページに渡しました。

ビュー/雑誌/show.html.erb

記事の新しいページに表示される部分は次のとおりです。

views / articles / _form.html.erb

また、記事のコントローラーからのcreateメソッドは次のとおりです。

しかし、雑誌に関連付けられた新しい記事を作成しようとすると、エラーメッセージが表示されます。

すくいルート

どうすればこの問題を解決できますか?この場合、simple_form_forに渡す正しいパラメーターは何ですか?

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

ruby-on-rails-3 - Php to Rails - Rails の関連付け - contact_to_groups テーブル

連絡先を作成し、グループを作成するための CRUD を用意しています。どちらもユーザー モデルの下にネストされています。

連絡先をグループに関連付ける方法を知る必要があります。

ユーザーが連絡先が属するグループを選択できるように、連絡先フォームに(formtasticを使用して)いくつかのチェックボックスを設定したいと思います。

PHP では、contacts_to_groups というテーブルを作成し、contact_id と group_id の列を作成します。連絡先を保存するときに、そのデータを渡し、結合を使用して後で元に戻します。

ありがとう!

お問い合わせ作成フォーム

<%終了%>

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

ruby-on-rails - Railsモデルとその関連付けを1つのアクションで削除しますか?NEWBIEの質問

Deviseユーザーオブジェクトとの関連付けは非常に単純で、各ユーザーが1つのプロファイルを持っています(より多くのアプリケーション固有のものがあります...)。Userオブジェクトの作成と、ユーザーとそのプロファイルオブジェクトへのアクセスに問題はありません。つまり、@ user.profile

ただし、プロファイルオブジェクトを削除しようとすると、問題が発生します。Userオブジェクトを削除すると、関連する各オブジェクトも削除されると思います。私のUserオブジェクトの関連付けは、次のようになります。accepts_nested_attributes_for:profile、:allow_destroy => true

has_oneとbelongs_toの関連付けは、UserオブジェクトとProfileオブジェクトの両方に設定されます。たぶん問題はDeviseコードにあります-私は困惑しています。私がここで欠けているもののアイデア。

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

backbone.js - Mustacheテンプレートからネストされたバックボーンモデル属性にアクセスする

別のBackboneモデルへの参照である属性を持つ1つのBackboneモデルがあります。たとえば、PersonにはAddressオブジェクトへの参照があります。

これらは、Backboneモデルを拡張するクラスです。したがって、次のようなオブジェクトを作成すると...

Mustacheテンプレートでアクセスする方法がわからないようです。

明らかに動作しません。Firebugの内部を見ると、Addressはオブジェクトですが、CityはAddressの属性オブジェクト内の属性です。関連するオブジェクトのこれらの属性にアクセスする方法の例が見つかりません。

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

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

c# - LINQ Where句を使用して、関連付けられたテーブルのデータでフィルタリングする

ctx.dbmlファイルに関連付けたArticlesとStatussの2つのテーブルがあります。

私がやりたいのは、特定のステータスのすべての記事をフィルタリングすることです。仮説的に言えば、次のようなものです。

私が抱えている問題は、上記のlinqクエリの2行目で、Intellisenseがarticle.Status.nameを提供しないことです。私はこのようなコードをインターネットで見たので、何かが足りないに違いありません。助けてください。

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

ruby-on-rails - Rails 3のbuild_association呼び出しで複数のコンストラクタ引数を渡す方法は?

build_foo 呼び出しの 2 番目の引数は決してFoo#initialize(つまりargs[1]is nil) になりません。初期化する唯一の引数をFoo#initialize保持しながら、2 つ以上の引数を渡すための提案はありますか?*args

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

ruby-on-rails-3 - rails3 と関連の正しい使い方

私は最初の rails(3) アプリケーションを実行しています。

アソシエーションは意味がありません。まず、Rails ガイドでさえ、何をするのかを実際には説明しておらず、使い方を説明しているだけです。私が集めた情報によると、協会は次の 2 つのことを行います。

関連付けと、それらを適切に使用する方法を理解しようとしています。以下の例に基づいて、関連付けが「壊れている」か、少なくともドキュメントが壊れているようです。

私のアプリケーションの簡単なバージョンを考えてみましょう。学習のために単語リストを修正する教師。

この説明に関連する 3 つの表があります。わかりやすくするために、annotate(1) ツールのテーブルの定義を含め、不要なフィールド/列を削除しました。

単語リスト管理テーブル:

単語を単語リストにマップする表:

私たちは実際には言葉自体を気にしません。しかし、最後の表であるバイラインは気にします。

バイラインは、誰が、どのツールを、どこで、いつ使用したかなどを記録します。バイラインは主に、何が起こったのかをトラブルシューティングするために使用されるため、ユーザーに何をすべきか (および/または間違いを修正する) を説明できます。

教師は、一度に 1 つまたは複数の単語リスト管理レコードを変更できます (単一のバイラインとも呼ばれます)。別の言い方をすれば、1 つの変更で複数の単語リストが更新される場合があります。

wordlist_mgmnt_records の場合、関連付けは次のようになります。

しかし、署名欄に対応するエントリは何ですか?

Beginning Rails 3 (Carneiro 他) の本には次のように書かれています。

[はい、オンラインの Rails ガイドも参照しました。役に立ちませんでした。]

Bylines テーブル/クラスについて、本当に言いたいことはありますか?

それは本当に意味がありません。bylines テーブルは、基本的に bylines_id を持つデータベース内のすべてのテーブルに属しています。それで、私は本当にそれらすべてに属していると言うでしょうか? それは他のすべてのテーブルに外部キーを設定しませんか? その結果、私が実際に望んでいたよりも変更のコストが高くなります (CPU サイクルが多すぎます)。いくつかの変更は多くのテーブルに影響を与え、そのうちのいくつかは非常に大規模です。私は通常の使用では速度を重視しており、バイラインをクリーンアップ/修復に使用する場合は、外部キーのないバイラインが見つかるのを待ちたいと思っています。

これで一周できます。関連はレールで実際に何をしているのでしょうか? また、それらをどのように賢く使うのでしょうか?

関連付けを使用することは正しい答えではないように思われますが、それ以外の方法で追加された結合構文を取得するにはどうすればよいでしょうか?

0 投票する
6 に答える
7167 参照

extjs - extjs 4 XTemplate クラスの関連付け

私はextjs 4をテストしていますが、何かに遭遇しました.私は理解できないようです.

私は単純なオブジェクトの関連付けを持っています:スナップショット - hasMany -> モデル

現在、XTemplate を使用して View コンポーネントでこの関連付けを表示しようとしているので、XTemplate は次のようになります。

そして、私の JSON 応答は次のようになります (「スナップショット」ノードのみを表示):

extjs 4 でモデルの概念が導入されたため、スナップショットとモデルのモデルを作成し、API ドキュメントに従って関連付けを作成しました。

スナップショット モデル:

モデル モデル ;P

ここに問題があります。このセットアップを使用すると、XTemplate の実行時にモデルが表示されませんが、スナップショット モデルから関連付けを削除し、「モデル」という別のフィールドを追加するだけで問題なく動作します。

関連付けを使用しているときにモデルのリストを正しく表示するためのベスト プラクティスは何ですか? これを行うには、ネストされたテンプレートとカスタム関数を使用する必要がありますか?

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

extjs - ExtJS 4: アソシエーションとストアを持つモデル

序章

Ext.data.ModelExtJSのクラスでアプリケーション設計の問題に直面しています。ここでは、私のアイデアを非常に一般的なオンライン ストアのシナリオに展開しようとします。私の考えや結論についてコメントをいただければ幸いです。

モデル

「すべての顧客が複数の製品を注文できる」という事実を ExtJS にマッピングするとします。素の言葉から、関係する次の 3 つのモデルを識別できます: CustomerOrder、およびProduct。このOrder場合の は、Customers と Products を接続するものです。

協会

ExtJS では、およびクラス(Customer)1-n(Order)1-n(Product)を使用してこの関係を実際に指定できることがわかりました。しかし、これは人が望むものですか?が常に に属していることを望みますか? s とはまったく関係のない s のリストが必要な場合はどうすればよいでしょうか。Ext.data.HasManyAssociationExt.data.BelongsToAssociationProductOrderProductOrder

店舗

これは、より ExtJS 固有のものになります。ExtJS では、Ext.data.Storeすべてのデータを保持する s があります。私にとって、データを整理する自然な方法Ext.data.Storeは、モデルごとに forを持つことです。

  1. CustomerStore
  2. OrderStore
  3. ProductStore

Ext.grid.Panel3 つの s を並べて配置することを検討してください。店舗ごとに1つ。1 つのグリッドで顧客を選択すると、その注文が 2 番目のグリッドに自動的に表示されます。2 番目のグリッドで注文を選択すると、関連する製品が 3 番目のグリッドに表示されます。

これはあなたにとって自然に聞こえますか?そうでない場合は、コメントしてください!

すべてをまとめる

したがって、ここでまとめる必要があるのは次の 3 つです。

  1. モデルとその
  2. 関連 ( hasManybelongsTo) および
  3. データStore_

モデル-モデル関係の片側からのみ関連付けを定義することは可能ですか? たとえば、Order hasMany Products を指定して an を除外することはProduct belongsToできOrderますか? aProductは実際には複数の に属することができるためOrderです。したがって、ProductモデルはhasMany Order以下のように指定します。

ExtJS のモデルは次のとおりです。

お客様

注文

製品

そして、以下が店舗です。

カスタマーストア

オーダーストア

製品ストア

これは、企業とその製品の例です (私によるものではありません) http://superdit.com/2011/05/23/extjs-load-grid-from-another-grid/ . 2 つのモデルと 2 つのストアを使用しますが、関連付けの定義はありません。

前もって感謝します

-コンラッド