問題タブ [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.
ruby-on-rails - Rails ポリモーフィック アソシエーション
Rails のポリモーフィック アソシエーションを把握するのに苦労しています。グループとユーザーの 2 つのモデルがあります。
ユーザーはグループに所属する必要がありますが、グループは複数のユーザーと複数のグループを持つことができます。グループをツリーのようにする必要があり、Ancestry gem が役立つと思いますが、まだ試していません。
user_id と group_id を持つ何らかの結合モデル、Membership が必要なようです。次に、 has_many :through を実行してユーザーをグループに関連付けることができますが、どうすれば多くのグループも持つことができるでしょうか? メンバーシップはポリモーフィック モデルになりますか?
ありがとう!
アンディ
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に渡す正しいパラメーターは何ですか?
ruby-on-rails-3 - Php to Rails - Rails の関連付け - contact_to_groups テーブル
連絡先を作成し、グループを作成するための CRUD を用意しています。どちらもユーザー モデルの下にネストされています。
連絡先をグループに関連付ける方法を知る必要があります。
ユーザーが連絡先が属するグループを選択できるように、連絡先フォームに(formtasticを使用して)いくつかのチェックボックスを設定したいと思います。
PHP では、contacts_to_groups というテーブルを作成し、contact_id と group_id の列を作成します。連絡先を保存するときに、そのデータを渡し、結合を使用して後で元に戻します。
ありがとう!
お問い合わせ作成フォーム
<%終了%>
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コードにあります-私は困惑しています。私がここで欠けているもののアイデア。
backbone.js - Mustacheテンプレートからネストされたバックボーンモデル属性にアクセスする
別のBackboneモデルへの参照である属性を持つ1つのBackboneモデルがあります。たとえば、PersonにはAddressオブジェクトへの参照があります。
これらは、Backboneモデルを拡張するクラスです。したがって、次のようなオブジェクトを作成すると...
Mustacheテンプレートでアクセスする方法がわからないようです。
明らかに動作しません。Firebugの内部を見ると、Addressはオブジェクトですが、CityはAddressの属性オブジェクト内の属性です。関連するオブジェクトのこれらの属性にアクセスする方法の例が見つかりません。
助けてくれてありがとう!ありがとう!
c# - LINQ Where句を使用して、関連付けられたテーブルのデータでフィルタリングする
ctx.dbmlファイルに関連付けたArticlesとStatussの2つのテーブルがあります。
私がやりたいのは、特定のステータスのすべての記事をフィルタリングすることです。仮説的に言えば、次のようなものです。
私が抱えている問題は、上記のlinqクエリの2行目で、Intellisenseがarticle.Status.nameを提供しないことです。私はこのようなコードをインターネットで見たので、何かが足りないに違いありません。助けてください。
ruby-on-rails - Rails 3のbuild_association呼び出しで複数のコンストラクタ引数を渡す方法は?
build_foo 呼び出しの 2 番目の引数は決してFoo#initialize
(つまりargs[1]
is nil
) になりません。初期化する唯一の引数をFoo#initialize
保持しながら、2 つ以上の引数を渡すための提案はありますか?*args
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 サイクルが多すぎます)。いくつかの変更は多くのテーブルに影響を与え、そのうちのいくつかは非常に大規模です。私は通常の使用では速度を重視しており、バイラインをクリーンアップ/修復に使用する場合は、外部キーのないバイラインが見つかるのを待ちたいと思っています。
これで一周できます。関連はレールで実際に何をしているのでしょうか? また、それらをどのように賢く使うのでしょうか?
関連付けを使用することは正しい答えではないように思われますが、それ以外の方法で追加された結合構文を取得するにはどうすればよいでしょうか?
extjs - extjs 4 XTemplate クラスの関連付け
私はextjs 4をテストしていますが、何かに遭遇しました.私は理解できないようです.
私は単純なオブジェクトの関連付けを持っています:スナップショット - hasMany -> モデル
現在、XTemplate を使用して View コンポーネントでこの関連付けを表示しようとしているので、XTemplate は次のようになります。
そして、私の JSON 応答は次のようになります (「スナップショット」ノードのみを表示):
extjs 4 でモデルの概念が導入されたため、スナップショットとモデルのモデルを作成し、API ドキュメントに従って関連付けを作成しました。
スナップショット モデル:
モデル モデル ;P
ここに問題があります。このセットアップを使用すると、XTemplate の実行時にモデルが表示されませんが、スナップショット モデルから関連付けを削除し、「モデル」という別のフィールドを追加するだけで問題なく動作します。
関連付けを使用しているときにモデルのリストを正しく表示するためのベスト プラクティスは何ですか? これを行うには、ネストされたテンプレートとカスタム関数を使用する必要がありますか?
extjs - ExtJS 4: アソシエーションとストアを持つモデル
序章
Ext.data.Model
ExtJSのクラスでアプリケーション設計の問題に直面しています。ここでは、私のアイデアを非常に一般的なオンライン ストアのシナリオに展開しようとします。私の考えや結論についてコメントをいただければ幸いです。
モデル
「すべての顧客が複数の製品を注文できる」という事実を ExtJS にマッピングするとします。素の言葉から、関係する次の 3 つのモデルを識別できます: Customer
、Order
、およびProduct
。このOrder
場合の は、Customer
s と
Product
s を接続するものです。
協会
ExtJS では、およびクラス(Customer)1-n(Order)1-n(Product)
を使用してこの関係を実際に指定できることがわかりました。しかし、これは人が望むものですか?が常に に属していることを望みますか? s とはまったく関係のない s のリストが必要な場合はどうすればよいでしょうか。Ext.data.HasManyAssociation
Ext.data.BelongsToAssociation
Product
Order
Product
Order
店舗
これは、より ExtJS 固有のものになります。ExtJS では、Ext.data.Store
すべてのデータを保持する s があります。私にとって、データを整理する自然な方法Ext.data.Store
は、モデルごとに forを持つことです。
CustomerStore
OrderStore
ProductStore
Ext.grid.Panel
3 つの s を並べて配置することを検討してください。店舗ごとに1つ。1 つのグリッドで顧客を選択すると、その注文が 2 番目のグリッドに自動的に表示されます。2 番目のグリッドで注文を選択すると、関連する製品が 3 番目のグリッドに表示されます。
これはあなたにとって自然に聞こえますか?そうでない場合は、コメントしてください!
すべてをまとめる
したがって、ここでまとめる必要があるのは次の 3 つです。
- モデルとその
- 関連 (
hasMany
、belongsTo
) および - データ
Store
_
モデル-モデル関係の片側からのみ関連付けを定義することは可能ですか? たとえば、Order
hasMany
Product
s を指定して an を除外することはProduct
belongsTo
できOrder
ますか? aProduct
は実際には複数の に属することができるためOrder
です。したがって、Product
モデルはhasMany
Order
以下のように指定します。
ExtJS のモデルは次のとおりです。
お客様
注文
製品
そして、以下が店舗です。
カスタマーストア
オーダーストア
製品ストア
これは、企業とその製品の例です (私によるものではありません) http://superdit.com/2011/05/23/extjs-load-grid-from-another-grid/ . 2 つのモデルと 2 つのストアを使用しますが、関連付けの定義はありません。
前もって感謝します
-コンラッド