問題タブ [activesupport-concern]

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 に答える
644 参照

ruby-on-rails - Rails 4 - 関係する alias_method

懸念事項に追加しようとしてalias_method :zzz_delete, :deleteいますが、うまくいきません。included dosingleton_class.class_eval doclass << selfおよびこれらすべてのブロックのさまざまな組み合わせでラップしようとしました。

私は何が欠けていますか?

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

ruby-on-rails - カスタムacts_asのクラスメソッドを追加

メソッドの呼び出しでクラス メソッドを動的に追加したいacts_as。私のファイル構造は次のようになります( http://guides.rubyonrails.org/plugins.htmlから取得):

クラスが を呼び出すときにのみクラス メソッドを宣言できるようにしたいacts_as_foo。インスタンス メソッドは で動作しLocalInstanceMethodsます。最も簡単な方法はモジュールに追加することですが、他のすべてのクラスにもこの方法があります。私はすでにメソッドに追加しようとしていdefine_methodますacts_asが、未定義のメソッドを返します。何か案が ?

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

ruby-on-rails - カスタム翻訳キーに関するRailsコントローラーの懸念

さまざまなエンティティに簡単に採用できる高度な検索機能を構築しています。この機能は、目的のコントローラーのアクションに適用されるため、コントローラーの懸念事項を使用して、各コントローラー I のそれぞれに#index汎用パーシャルをフックすることにしました。#indexinclude AdvancedSearchFeature

翻訳がかなりの問題であることがわかるまで、すべてがスムーズに機能します。各高度な検索では、どこかで指定する必要があるさまざまな翻訳キーが使用されますが、どこでこれを行うのが最適かわかりません。

私は考えました:

  • 懸念事項ではなく、一般的なものであるためです。
  • コントローラは変換を直接処理するべきではないため、懸念事項を含めたコントローラではそうではありません。
  • Model.advanced_search_translation_keysコントローラーにリンクされたモデルでは、そうではありません。これは、対応するビューで使用される変数に割り当てられる必要があるを提供するのが自然に感じられないためです。
  • コントローラーに関連付けられた#indexビューでは、そうではありません。ビューは、高度な検索機能の汎用パーシャルに渡される翻訳ハッシュで汚染されるべきではないためです。

そのため、これらの翻訳を...ヘルパーで行うことになりました。これらのヘルパーは、高度な検索機能のジェネリック パーシャルから呼び出され、目的の翻訳キーが存在する場合は、そこから取得されます。しかし...私は、特に翻訳を返すためにヘルパーを作成するという考えが本当に好きではありません.

これを行う方法についてより良いアイデアはありますか?たぶん、あなたはこの問題に出くわし、他の方法で解決しましたか?

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

ruby-on-rails - ActiveSupport::懸念メソッドが見つかりません

ActiveRecord::Base を拡張しています。私の lib フォルダーには、ファイル mongoid_bridge.rb があります。

config/initializers には 2 つのファイルがあり、正しい順序で読み取られるように、それぞれに 01、02 などのプレフィックスが付けられています。01_mongo_mixer.rb には次のように記述されています。

次に、02_model_initializer.rb には次のように記述されています。

model は ActiveRecord サブクラスのインスタンスであるため、ルックアップ チェーンで create_mongo インスタンス メソッドを見つける必要があります。ただし、次のエラーが発生するため、見つかりません。

インスタンスメソッドが見つからないのはなぜですか?

アップデート:

ClassMethods の下のメソッドは含まれているようですが、InstanceMethods の下のメソッドは含まれていません。

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

ruby-on-rails - 関連するRails協会

Rails アプリケーションに懸念事項を使用しています。私はさまざまな種類のユーザーを持っているので、loggable.rb心配しています。

私の懸念では、

懸念を含むすべてのユーザーが auth_info テーブルと関連付けられるためです。

問題は、auth_info テーブルにどの外部キーを入れる必要があるかということです。

例えば

私は3種類のユーザーを持っています:

  1. お客様
  2. 売り手
  3. ビジター

顧客しかいない場合、テーブルスキームにフィールドを配置します

しかし、私の場合は?

0 投票する
0 に答える
650 参照

ruby-on-rails - 問題のネストされたクラス定義

内部で別のクラスを宣言する専門家ポリシー クラスがあります。

Scope今度は、この同じ内部クラスを別の場所で使用したいと考えています。1 つの方法は、スーパークラスで定義してオーバーライドすることですが、そのためには、別のクラスを作成してclass NewClass < ApplicationPolicy継承する必要がありPaymentPolicyます。しかし、クラス定義を懸念モジュール内に配置する方法が好きActiveSupport::Concernで、わかりません。これ

動作しません。これも:

ネストされたクラス定義を懸念モジュール内に配置するにはどうすればよいですか?

0 投票する
0 に答える
456 参照

ruby-on-rails - Elasticsearch - Active Record モデルからのレコードの自動インポート

システム:

  • レール4
  • ルビー2
  • エラスティックサーチ 1.6.0

Elasticsearch を使用してレコードをフィルタリングし、Active Record モデルの統計を計算しています。Elasticsearch インデックスに Postgres データベースを反映させて、既存のレコードがインデックスにインポートされたり、新しいレコードが作成されるとインデックスが作成されるようにしたいと考えています。

私のモデルの2つが次のように含まれていることに懸念があります。

しかし、Rails コンソールを開いて を呼び出すとBar.statisticsnilすべてのフィールドが表示されます。次に を実行するBar.import force: trueBar.statistics、拡張統計集計で nil 以外の正しい値が得られます。

その他の注意点: Pry を使用して Rails コンソールで foo.rb を開いて終了すると、Cannot define multiple included blocks for a Concernエラーが発生しました (ただし、アプリケーションのロードは正常に機能します)。

自分のレコードを ES に自動インポートするための何かが不足していますか?