問題タブ [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 - RailsActiveRecordアソシエーション
さて、ここに私の質問があります。私には、人、役割、クライアント、ストアの3つの異なるモデルがあります。クライアントには多くの店舗があり、多くの人がいることもあります。店にはたくさんの人がいます。人々にはさまざまな役割があります。1人は複数の店舗で働くことができ、店舗ごとに役割が異なる場合があります。
例えば。ジョーは、ある店舗のアシスタントマネージャーであり、別の店舗のマネージャーである可能性があります。私がしたいのは、次のようなことをして正しい役割を引き出すことです
たとえば、「アシスタントマネージャー」を返します)または たとえば、「manager」を返します)。これはActiveRecordで行うことができますか?次の定義を持つテーブル:roles_peopleを作成しました。
ただし、このテーブルを使用して関連付けを正しく機能させる方法がわかりません。誰かが私を正しい方向に向けることができますか?
ありがとう
ruby-on-rails-3 - 2つのbelongs_toアソシエーションの同じモデル
私はモデルを持ってPointOfContact
いhas_many
Systems
ます。側面から、をまたは(または両方)としてSystems
識別したいと思います。まだDBに1回だけ保持している間。PointOfContact
technical_manager
project_manager
PointOfContact
私の試みは次のとおりです。
スペックを実行すると(例は次のとおりです)System
、連絡先の関連付けを正しく作成できます。ただし、PointOfContact
はシステムとの関連付けを認識していません。何故ですか?
ruby-on-rails-3 - Railsコントローラー:アソシエーションのコントローラーを定義するのは良い習慣ですか?
マッピングテーブルmap_user_rolesがあるとします。モデルの役割とユーザーを定義しました。両方は、関係has_and_belongs_to_manyによって相互に関連付けられています。もちろん、レールにテーブルをマッピングするためのモデルを定義することは意味がありません。ユーザーとロールのクラッド操作に対して、users_controllerとroles_controllerをそれぞれ定義しました。
ユーザーロールの関連付けについては、どうすればよいですか?user_roles_controllerのような個別のコントローラーを定義する必要がありますか、それともロールとユーザーコントローラーに変更を加える必要がありますか(そうする場合はその方法)?良い習慣は何かを提案してください。例と良いリンクは大いに役立つでしょう時間を割いてくれてありがとう。
ruby-on-rails-3 - アソシエーション mongoid で検証を false に設定する
私は2つのモデルを持っています
今私がするとき
アドレスの検証が呼び出されます。しかし、私の場合は検証は必要ありませんし、:validates
アドレスから削除することもできません (後で必要になるため)。のようなことをしたい(:validate => false)
。誰かが思いついたら、私に知らせてください!私はmongoid-2.0.0を使用しています。
ruby-on-rails - Railsのビルドまたは更新方法?
has_one
現在、find メソッドまたは create メソッドを使用して、キャッシュされた情報を保存するために使用する関連レコードを更新していますが、オブジェクトが関係であるため、build に似たより簡単な代替メソッドがあるかどうか疑問に思っています。build_ を使用するだけの問題は、ほとんどの場合、オブジェクトが存在し、更新する必要があることです。たくさんの ifs チェックを使用できましたが、現在使用しているよりも優れた rails-fu があるかどうか疑問に思いました。
ボーナス:
私もここで読んだ:
http://m.onkey.org/active-record-query-interface
Rails の計算方法の平均、合計などは 3.1 で減価償却されるので、それらを置き換える必要があるかどうかはわかりませんか?
associations - 複数のデータマッパーには1つの関連付けがあります
やりたいことが間違っているのか、それとも自分の実装だけなのかわかりません。
私がやりたいのは
人と住所の間に複数の「has1」関係がある
私のモデルは
これはコードで正常に機能し、人の国を割り当ててアクセスできます
しかし、保存してからDBを終了すると、機能しません。自宅、オフィス、メールアドレスが混同されます
私は次のような構造を手に入れたいと思っていました
私が得たのは
テーブルの構造は私にとって重要ではありません。私が欲しいのは、自宅、オフィス、メールがすべて同じオブジェクトタイプであり、おそらく同じテーブルにあることです。同じAddressインスタンスを、自宅とメールの両方に割り当てて、アドレスに1回だけ保存し、2回参照できるようにすると便利です。
PSの人と住所は、おなじみの例として使用されている実際の基になるオブジェクトではありません。
編集:アドレスに4 has n assocを設定することで、やりたいことができるかもしれません。結果を使って答えを編集してみます。
ruby-on-rails - Rails の関連付け / セッションに関する質問
私は子供たちが家事を記録するためのアプリに取り組んでいます。私には 3 人の子供 (ニック、シエナ、マック) がいて、それぞれの名前がハイパーリンクされたホームページを持っています...
私は次の協会を持っています:
補完モデルに補完を投稿するために、(子の名前をクリックして) child_id をセッションオブジェクトとして保存するにはどうすればよいですか?
別の子供がホームページで自分の名前をクリックしたときに、そのセッションをクリア/新しい子供に変更するにはどうすればよいですか?
どんな助けでも大歓迎です。ありがとう、CB
ruby-on-rails - Has_Many :through Association の設定
私が現在取り組んでいるアプリケーションでは、参照整合性を確保するために 3 つのモデル間の関連付けを設定することに行き詰まっています。Event モデル、Building モデル、Room モデルがあります。実際の関連付けは非常に直感的です。イベントは 1 つの建物と 1 つの部屋にのみ存在できます。建物は明らかに複数の部屋を持つことができます。
これが私が今設定したものです。ただし、イベントが建物に属し、ルームの外部キーがイベント テーブルにある場合、イベントはどのようにしてルームを指定できるでしょうか。これは has_many :through 関係を使用する場所ですか? 部屋は建物によって所有されているため、建物と部屋の両方の外部キーを Event テーブルに保存することは良い方法ですか? 部屋を指定できるようにする前に、建物を指定する必要があるという条件付きの関係はどうでしょうか (たとえば、部屋が 2 つある建物もあれば、部屋が 20 ある建物もある)。
申し訳ありませんが、私はこれについて非常に不明です。助けてくれてありがとう!
model - 関連するモデルで条件を使用するためにcakePHPモデル->フィールドメソッドを取得する方法は?
問題があります。関連するモデルを使用する条件を使用しながら、関連するモデルなしで、単一のレコードから単一のフィールドを取得する必要がありますか?
例:
Articles.id
いつArticle.category_id=3
などで最初に検索したいのですが。
Model->field('model.field',array(conditions))
条件が外部モデルを使用していない限り、使用は機能します。($this->Model->recursive=4
動作していません)。
使用Model->find('first', array(conditions))
は問題なく機能しますが、必要のない関連データも取得するという事実を除いて、関連モデルの比較を使用する機能を無効にして再帰結果を制限します。
何かアドバイス?
編集
私の問題は、デバッガーが貧弱であることを除いて、model->read
メソッドの使用中に再帰を制限することで解決されました。ただし、長期的には、おそらく、封じ込め可能な動作を使用しています。
one-to-many - rhodes で 2 つのテーブルを 1 対多で関連付ける
rhodes で新しいアプリケーションを開始しており、2 つのテーブルを関連付けようとしています。http://docs.rhomobile.com/rhodes/rhom#associationsで提案されていることを既に試しましたが 、機能していないため、何かが欠けていると思います。これは私がしたことです:
Client テーブルと Photo テーブルがあります。クライアントは多くの写真を持つことができますが、写真は 1 つのクライアントのみです。Photo.rbに追加しました
client_controller に以下を追加しました。
上記のリンクで述べたように、新しいユーザーを作成しようとすると機能しません。
私も追加しました:
new の client_controller に追加し、新しいクライアントを作成するときに photo のフィールドの 1 つに何らかの入力を入力するためのフィールドも追加しました。しかし、やはりうまくいきません。
何か提案はありますか?