問題タブ [has-and-belongs-to-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 投票する
1 に答える
486 参照

ruby-on-rails - Rails: HABTM レコードが適切に削除されない

私は既存の Rails サイトでメンテナンス作業を行っており、奇妙なバグに遭遇しました。ここにはRegistrations、 、Business Categories、およびのいくつかの異なるモデルが含まれますServicesRegistrationsHABTMBusiness CategoriesServices、それぞれ HABTM Registrations. HABTM 関係ごとに、適切な非主キー結合テーブルが存在します。

ユーザーが登録を更新するために入力する 2 つのセクション (ビジネス カテゴリ用とサービス用) を持つ 1 つのフォームがあります。2 つのセクションはそれぞれ、潜在的なビジネス カテゴリごとに 1 つずつ、サービスごとに 1 つずつ、多くのチェックボックスで構成されています。たとえば、ビジネス カテゴリのチェックボックスを生成する HAML は次のとおりです。

コントローラーの更新機能でRegistrations:

一般に、すべてが正常に機能します。ユーザーは、必要に応じていくつでもチェックボックスをオンにしてサインアップできます。登録のビジネス カテゴリとサービスには、チェック ボックスが反映されます。ほとんどの場合、その後の変更も機能します。ただし、ユーザーがフォームの特定の部分 (ビジネス カテゴリまたはサービス) のすべてのボックスの選択を解除すると、フォームのその部分への変更は保存されません。エラー メッセージは表示されず、「会社が正常に更新されました」というフラッシュ メッセージがまだ表示されますが、フォームが送信される前にチェック ボックスがオフになっていても、チェック ボックスはオンのままです。

サイトを再構築/リファクタリングするhas_many :through場合、HABTM よりも使用する可能性が高くなりますが、予算が十分ではありません。HABTM が手放すのに苦労しているように見える理由について、何か考えがある人はいますか?

ご検討いただきありがとうございます。

ジャスティン

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

ruby-on-rails - Rails HABTM対ビュー(素晴らしい)

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

モデルNetworkObjectは、「ホスト」を記述しようとします。ソースと宛先のルールが必要なので、2つの異なるクラスを作成しても意味がないため、同じクラスの両方のオブジェクトを使用しようとしています。

HABTMを構築するために、私はモデルJOINを選択しました。したがって、この場合、Statementという名前のモデルを次のように作成しました。

問題は次のとおりです。異なるforeign_keysを使用して2つのbelongs_toを同じクラスに追加するのは正しいですか?私は次のようなすべての組み合わせを試しました:

しかし成功しません..私が間違っていることは何ですか?

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

cakephp - HABTM結合テーブルから単一の行を削除します

を使用するモデルがありますExtendAssociationsが、何らかの理由でdeleteHABTMが一部のモデルで機能しないようです(わかりません:/)。結合テーブルから1つの行を削除する簡単な方法はありますか?

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

ruby-on-rails - Rails+連想テーブルによるシンプルな役割システム

だから私はninja_hovercrafts(ninja_idとhovercraft_idを格納する)を介して多くのホバークラフトを持っている忍者モデルを持っています。

この種の配置は、連想テーブルが2つの異なるクラスをバインドするのに十分な情報のみを格納するように設定する必要があることを理解しています。

ただし、連想テーブルを使用して、アプリケーションで非常に合理化された承認ハブとして機能させたいと思います。したがって、このテーブルの「役割」フィールドを介して、このバインディングによって忍者が特定のホバークラフトのパイロットまたは副操縦士になるかどうかをシステムに通知したいと思います。

私の質問は次のとおりです。

  1. これは醜いですか?

  2. これは正常ですか?

  3. レールに組み込まれているメソッドは、その役割で忍者とホバークラフトの関連付けを自動的に作成するのに役立ちますか?たとえば、ninjas_hovercraftsのロールフィールドも満たされるように、忍者とhcsの両方を作成するためのネストされたフォームを作成できますか?

  4. この方法でアプリケーションの役割を管理するのが得策ではない場合、リソースを大量に消費する代替手段は何ですか(私のアプリは、過度の結合や包含などのスケーラビリティの問題を回避するように設計されています)

ありがとうございました

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

ruby-on-rails - RailsHABTMスコープを現在のサブドメインに

私には次の関連があります。

ユーザーを編集している間、私はブランドのチェックボックスリストを使用しています。ユーザーにブランドへの「アクセス」を割り当てることができるように、表示されるブランドは、現在の会社に属するブランドのみです(サブドメイン[subdomain_fuを使用]によって定義されます)。

私が遭遇している問題は、デフォルトのHABTM機能とチェックボックスリストを使用するときに、保存時にRailsがすべてのユーザー->ブランドの関連付けを削除し、送信したフォームの関連付けだけを再度追加することです。

サブドメインで定義されている、現在の会社に属するブランドの関連付けのみを削除するようにスコープを設定するにはどうすればよいですか?

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

ruby-on-rails - Ruby on Rails: 特定の値を含むハッシュを持つすべてのアイテムを見つける方法

Student、 、 の3 つのモデルがあるSchoolClassとしDayOfWeekます。StudentSchoolClass、および と の間に HABTM 関係がSchoolClassありDayOfWeekます。私がやりたいことは、月曜日に会う特定の学生に属するすべての学校のクラスを見つけることです。

今、私は次のようなことができると思います:

1 つの find メソッドで 2 行目から 8 行目を実行する方法はありますか?

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

ruby-on-rails - has_and_belongs_to_many関係にレコードを追加します

ユーザーとプロモーションの2つのモデルがあります。プロモーションには多くのユーザーを含めることができ、ユーザーは多くのプロモーションを行うことができるという考え方です。

また、promotions_usersテーブル/モデルがあり、独自のIDはありません。user_idとpromotions_idを参照します

では、どうすればプロモーションにユーザーを追加できますか?私はこのようなことを試しました:

これにより、次のエラーが発生します。

代わりにこの行を試してみると:promo = user.promotions.new(promo.id)

このエラーが発生します:

私の問題には非常に簡単な解決策があると確信しており、正しい方法で解決策を探しているわけではありません。

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

ruby-on-rails - 最新の3つの一致をチェックするHABTM

これが皆さんにとって興味深いものです...

「Dogs」と「Trips」の間にHABTM(has_and_belongs_to_many)の関係があります。私の目標は、2つの結果セットを見つけることです。1)過去3回の旅行の少なくとも1回に参加した犬を@dogs_currentと呼びます。2)過去3回の旅行のいずれにも参加していない犬を@dogs_oldと呼びます。

旅行モデルでこれを行うことにより、最後の3つの旅行が何であるかを見つけることができることがわかりました。

しかし、そのリストの使用方法がわからない場合は、1と2を取得します。このハックは機能しますが、見苦しいようです。より良い方法があるに違いありません!:)

何か案は?ありがとう!-カム

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

ruby-on-rails - レールでのbegs_to_manyのシミュレート

理論的には、belongs_to_many 関係を使用する必要がある状況があります。Example モデルと Sentence モデルがあります。各サンプル オブジェクトには 1 つの文がありますが、これらの文は必ずしも一意ではありません。したがって、たとえば、それぞれが同じ文である 1 つの文を持つ 2 つのサンプル モデルを作成できます。Railsでこれを行う方法がわかりません。has_and_belongs_to_many を使用してみましたが、問題が発生しました。私はその関係の属している部分だけが必要なようです。理想的には次のようになりますが、belongs_to :many がないことはわかっています。

例 has_one :文の終わり

センテンスの所属先が多い :例の終わり

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

ruby-on-rails - habtm関係は:dependentオプションをサポートしていません

:dependentHABTM関係がオプションをサポートしていないというのは本当ですか?

RailsEdgeを試しています。