問題タブ [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 投票する
4 に答える
331 参照

ruby-on-rails - has_many_polymorphs タグ付け - 本番環境ではなく、開発マシンで動作します!

タグ付けが開発マシンで正常に機能するという奇妙な問題が発生していますが、運用サーバーにデプロイすると、ログに次のエラーが表示されます。

production.log ファイルには、has_many_polymorphs が読み込まれていることを示すエントリがあるため、実稼働マシンでプラグインが利用できないわけではありません。

私のGoogle-fuは答えを見つけようとして失敗しました。誰かが何が間違っているのか知っていれば、それは大歓迎です!

編集:本番と開発の両方で同じデータベースを使用していることに言及する必要がありました。製品版をダウンロードして開発マシンで使用したところ、正常に動作しました。

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

ruby-on-rails - 1 つのモデルに複数の has_many_polymorphs

has_many_polymorphs plugin単一の親から同じ子への複数のポリモーフィック リレーション ( ) を定義しようとしています。

メモには多くの閲覧者がいます
メモには多くの編集
者がいます 閲覧者はユーザーまたはグループのいずれかです 編集者はユーザーまたはグループの
いずれか
です 許可は、、、、、フィールドとのnote_id関連付けモデルですviewer_idviewer_typeeditor_ideditor_type

Note モデルで has_many_polymorphs リレーションが 1 つしか定義されていない限り、すべてが期待どおりに機能します。

さて、2番目のリレーションを追加すると問題が発生し始めます


の定義を改良しようとしましたhas_many_polymorphsが、うまくいきませんでした。、 、 のSTIモデルでもありませViewPermission < PermissionEditPermission < Permission

任意の考え/回避策/問題のポインタをいただければ幸いです。

レール 2.3.0

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

ruby-on-rails - has_many_polymorphs は「参照整合性違反」とはどういう意味ですか?

私は、さまざまなタイプのイベントと多くのイベントのhas_many_polymorphs間に関係があります。Candidate特に、 はCandidate作成Created時にイベントを作成します。

単体テストを実行すると、すべて問題ありません。機能テストを実行すると、すべて問題ありません。統合 (Cucumber) テストを実行すると、すべて問題ありません。本番環境で実行すると、すべて問題ありません。開発モードで (クラスのリロードをオンにして) 実行しようとすると、

script/console同じ (開発) 環境で実行すると、相互参照モデルEvent::Createdとの適切な関係を持つオブジェクトが表示されます。CandidateEvent

どうしたの?

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

ruby-on-rails - has_many_polymorphsインストール後の問題

has_many_polymorphsをインストールした直後

スクリプト/生成またはスクリプト/サーバーのようなsmthを実行しようとすると、次のエラーが発生し始めます

それについて助けてくれてありがとう、

パベル

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

ruby-on-rails - Rails 2: has_many :検証を通じて?

Rails 2.1.0 (いくつかの制約により、今のところアップグレードできません) これを達成しようとしています。ヒントはありますか?

  1. プロジェクトには、結合モデルを通じて多くのユーザーがいます
  2. ユーザーは結合モデルを通じて多くのプロジェクトを持っています
  3. Admin クラスは User クラスを継承します。また、いくつかの管理者固有のものもあります。
  4. スーパーバイザーとオペレーターの管理者のような継承
  5. プロジェクトには、1 人の管理者、1 人のスーパーバイザー、および多数のオペレーターがいます。

1. プロジェクト、管理者、スーパーバイザー、およびオペレーターのデータを 1 つのプロジェクト フォームで送信します。2. すべてを検証し、プロジェクト フォームにエラーを表示します。

アプローチは正しいですか?あらゆる提案を歓迎します。

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

ruby-on-rails - has_many_polymorphs 問題

has_many_polymorphs に問題があります。

私はいくつかのモデルを持っています

しかし、いくつかの問題のアプリケーションを取得しようとすると、次のように表示されます

ログで私が見る

それを解決する方法は?

PS: Rails 2.3.5、Postgresql

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

ruby-on-rails - herokuでのacts_as_list postgreエラー

act_as_list とともに has_many_polymorphs を使用しています。ローカルではすべて正常に動作しますが、heroku では、acts_as_list メソッドがいくつか呼び出されるたびにエラーが発生します。つまり、リスト内のアイテムの追加または削除のために、新しい位置で多数のレコードを更新するものです。

act_as_list メソッドの例:

Postgres エラーの例

AdsPlacment.rb

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

ruby-on-rails - Ruby on Rails 3: 複数の has_many または has_many_through 関連付けの結果を組み合わせる

私は以下のモデルを持っています。ユーザーには UserAction があり、可能な UserAction の 1 つは ContactAction です (UserAction はポリモーフィズムです)。LoginActionなどの他のアクションがあります。

この考え方は、ContactAction が 2 人のユーザーを結合し (アプリ内で他の結果を伴う)、常に受信側と送信側があるというものです。同時に、ContactAction はさまざまな状態 (期限切れ、保留中など) を持つことができます。

ユーザーが送信または受信したすべての保留中/期限切れの要求を言う@user.contact_actions.pending@user.contact_requests.expired、リストすることができます。これはうまくいきます。

私が今欲しいのは、両方のタイプの ContactActionに参加する方法です。すなわち@user.contact_actions_or_requests。私は次のことを試しました:

@user.contact_actions_or_requests.find(...)しかし、これらのすべてには、関連付けの上に追加のファインダーまたはnamed_scopes を使用できないという問題があります@user.contact_actions_or_requests.expired

基本的に、2 つの異なるパスを持つ 1:n の関連付けを表現する方法が必要です。一つはUser -> ContactAction.user_id、もう一つは ですUser -> UserAction.user_id -> UserAction.user_actionable_id -> ContactAction.id。そして、named_scopes や finder でさらに処理するために、結果 (ContactActions) を 1 つのリストに結合します。

この関連付けは文字通り何十もの場所で必要になるため、すべてのケースに対してカスタム SQL を作成 (および維持!) するのは非常に面倒です。

私はこれを Rails で解決したいと考えていますが、他の提案 (たとえば、PostgreSQL 8.3 の手順または類似のもの) も受け付けています。最終的に重要なことは、Rails の便利な関数を他の関連付けと同じように使用できることです。さらに重要なことは、それらをネストすることもできます。

どんなアイデアでも大歓迎です。

ありがとうございました!


私自身の質問に一種の答えを提供するには:

おそらくデータベース ビューを使用してこれを解決し、必要に応じて適切な関連付けを追加します。上記の場合、私はできます

  • finder_sql の SQL を使用してビューを作成し、
  • 「contact_actions_or_requests」という名前を付けます。
  • SELECT 句を変更して user_id 列を追加し、
  • app/models/ContactActionsOrRequests.rb を追加し、
  • 次に、「has_many :contact_actions_or_requests」を user.rb に追加します。

レコードの更新をどのように処理するかはまだわかりません - これはビューでは不可能のようです - しかし、おそらくこれが最初のスタートです。

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

ruby-on-rails - Rails にはスルー ポリモーフィック チェックボックスが多数あります

これは本当に私を失望させています!:(

ユーザー モデルのネストされたモデル フォームを作成しようとしています。その中にチェックボックス リストがあり、複数のストアをチェックまたはチェック解除して、モデル スタッフィングを通じてストアを管理できます。

当面の目的では、他のスタッフ可能な関連付けは無視できます。これは、最終的に Store と一緒に管理したいと考えている同様のモデルですが、このままでは困惑するので、まず第一に考えることです。

私のパラメータを次のように送信します。

そしてエラー!

staffable_type を 'Store' として作成する必要があることはわかっていますが、一日中試してみました。

staffable_type (および id) 列を :null => false に設定していますが、DB にアクセスする前にコントローラーでこれを調整する必要があるため、これが原因ではありません。

私の作成アクションで以下が機能しないのはなぜですか:

また:

上記に似た多くのことを試しても無駄です。どんな助けでも大歓迎です。

御時間ありがとうございます!