問題タブ [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.
ruby-on-rails - has_many_polymorphs タグ付け - 本番環境ではなく、開発マシンで動作します!
タグ付けが開発マシンで正常に機能するという奇妙な問題が発生していますが、運用サーバーにデプロイすると、ログに次のエラーが表示されます。
production.log ファイルには、has_many_polymorphs が読み込まれていることを示すエントリがあるため、実稼働マシンでプラグインが利用できないわけではありません。
私のGoogle-fuは答えを見つけようとして失敗しました。誰かが何が間違っているのか知っていれば、それは大歓迎です!
編集:本番と開発の両方で同じデータベースを使用していることに言及する必要がありました。製品版をダウンロードして開発マシンで使用したところ、正常に動作しました。
ruby-on-rails - 1 つのモデルに複数の has_many_polymorphs
has_many_polymorphs plugin
単一の親から同じ子への複数のポリモーフィック リレーション ( ) を定義しようとしています。
メモには多くの閲覧者がいます
メモには多くの編集
者がいます 閲覧者はユーザーまたはグループのいずれかです 編集者はユーザーまたはグループの
いずれか
です 許可は、、、、、フィールドとのnote_id
関連付けモデルですviewer_id
viewer_type
editor_id
editor_type
Note モデルで has_many_polymorphs リレーションが 1 つしか定義されていない限り、すべてが期待どおりに機能します。
さて、2番目のリレーションを追加すると問題が発生し始めます
の定義を改良しようとしましたhas_many_polymorphs
が、うまくいきませんでした。、 、 のSTIモデルでもありませViewPermission < Permission
んEditPermission < Permission
。
任意の考え/回避策/問題のポインタをいただければ幸いです。
レール 2.3.0
ruby-on-rails - has_many_polymorphs は「参照整合性違反」とはどういう意味ですか?
私は、さまざまなタイプのイベントと多くのイベントのhas_many_polymorphs
間に関係があります。Candidate
特に、 はCandidate
作成Created
時にイベントを作成します。
単体テストを実行すると、すべて問題ありません。機能テストを実行すると、すべて問題ありません。統合 (Cucumber) テストを実行すると、すべて問題ありません。本番環境で実行すると、すべて問題ありません。開発モードで (クラスのリロードをオンにして) 実行しようとすると、
script/console
同じ (開発) 環境で実行すると、相互参照モデルEvent::Created
との適切な関係を持つオブジェクトが表示されます。CandidateEvent
どうしたの?
ruby-on-rails - has_many_polymorphsインストール後の問題
has_many_polymorphsをインストールした直後
スクリプト/生成またはスクリプト/サーバーのようなsmthを実行しようとすると、次のエラーが発生し始めます
それについて助けてくれてありがとう、
パベル
ruby-on-rails - Rails 2: has_many :検証を通じて?
Rails 2.1.0 (いくつかの制約により、今のところアップグレードできません) これを達成しようとしています。ヒントはありますか?
- プロジェクトには、結合モデルを通じて多くのユーザーがいます
- ユーザーは結合モデルを通じて多くのプロジェクトを持っています
- Admin クラスは User クラスを継承します。また、いくつかの管理者固有のものもあります。
- スーパーバイザーとオペレーターの管理者のような継承
- プロジェクトには、1 人の管理者、1 人のスーパーバイザー、および多数のオペレーターがいます。
1. プロジェクト、管理者、スーパーバイザー、およびオペレーターのデータを 1 つのプロジェクト フォームで送信します。2. すべてを検証し、プロジェクト フォームにエラーを表示します。
アプローチは正しいですか?あらゆる提案を歓迎します。
ruby-on-rails - has_many_polymorphs 問題
has_many_polymorphs に問題があります。
私はいくつかのモデルを持っています
しかし、いくつかの問題のアプリケーションを取得しようとすると、次のように表示されます
ログで私が見る
それを解決する方法は?
PS: Rails 2.3.5、Postgresql
ruby-on-rails - herokuでのacts_as_list postgreエラー
act_as_list とともに has_many_polymorphs を使用しています。ローカルではすべて正常に動作しますが、heroku では、acts_as_list メソッドがいくつか呼び出されるたびにエラーが発生します。つまり、リスト内のアイテムの追加または削除のために、新しい位置で多数のレコードを更新するものです。
act_as_list メソッドの例:
Postgres エラーの例
AdsPlacment.rb
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 に追加します。
レコードの更新をどのように処理するかはまだわかりません - これはビューでは不可能のようです - しかし、おそらくこれが最初のスタートです。
ruby-on-rails - Rails にはスルー ポリモーフィック チェックボックスが多数あります
これは本当に私を失望させています!:(
ユーザー モデルのネストされたモデル フォームを作成しようとしています。その中にチェックボックス リストがあり、複数のストアをチェックまたはチェック解除して、モデル スタッフィングを通じてストアを管理できます。
当面の目的では、他のスタッフ可能な関連付けは無視できます。これは、最終的に Store と一緒に管理したいと考えている同様のモデルですが、このままでは困惑するので、まず第一に考えることです。
私のパラメータを次のように送信します。
そしてエラー!
staffable_type を 'Store' として作成する必要があることはわかっていますが、一日中試してみました。
staffable_type (および id) 列を :null => false に設定していますが、DB にアクセスする前にコントローラーでこれを調整する必要があるため、これが原因ではありません。
私の作成アクションで以下が機能しないのはなぜですか:
また:
上記に似た多くのことを試しても無駄です。どんな助けでも大歓迎です。
御時間ありがとうございます!