問題タブ [observers]
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 - 破棄前および関連付けられたレコードが破棄される前のコールバック
私は次のモデルを持っています:
私は、delayed_job キューでアクションを実行するようにオブザーバーを設定したいと考えています。これはほとんどの場合機能しますが、1 つの例外があります。before_destroy ウォッチャーが、電話番号が破棄される前に、その電話番号に関連付けられている人々を取得するようにしたいと考えています。遅延ジョブが実際に機能するのは、これらの人々です。
問題は、電話番号が破棄されると、最初:personal_phone_numbers
にレコードが破棄され、電話番号を破棄しようとするとオブザーバーがトリガーされることです。その時点で、手遅れです。
依存レコードが削除される前に破棄アクションを監視する方法はありますか?
ruby-on-rails - Railsでオブザーバーを作成しようとすると「load_missing_constant」
モデルのオブザーバーを作成しようとしていますOffer
が、このエラーが発生し続けます:
私のモデルには特別なことは何もなく、適切な場所で宣言されていると確信しています (アプリケーションはオブザーバーなしで正常に動作します)。
Railsスクリプトでオブザーバーを生成しました
そして、これをconfig/application.rb
ファイルに追加しました
最も奇妙な部分は、他のすべてのモデルで問題なく動作することです。
Ruby 1.9.3p194 で Rails 3.2.6 を使用しています。
ruby-on-rails - ActiveSupport依存関係(load_missing_constant)エラー-定義する必要があります...(ロードエラー)
Railsでオブザーバーを作成しようとすると、エラーが発生します{/active_support/dependencies.rb:503:in'load_missing_constant':定義する必要があります(LoadError)}
Rails 3.2.6、Ruby 1.9.3-p194(Lionのrvm)を使用します。
application.rbでこの行にコメントを付けると、エラー(および意図した動作)が防止されますconfig.active_record.observers =:page_observer
'rails server'コマンドの完全な出力:
page_observer.rbのコンテンツ
page.rbのコンテンツ
どんな考えでもいただければ幸いです。
ruby-on-rails - irb/コンソールのリロード! Railsオブザーバーをリロードしない
エラーが発生するオブザーバーがあります。
これで、コンソールでエラーが発生します。
リロードを押しても、エラーが続きます。
しかし、Rails コンソールを終了して再起動すると、消えてしまいます。なんで?これらのオブザーバーの変更をリロードするべきではありませんか?
c++ - C++ 独自のオブザーバー パターン
私はこのように動作するはずのオブザーバー パターンを設計しています: オブザーバーはAddEventListener
メソッドを呼び出し、EventDispatcher
の名前である文字列を渡します。event
その後、 ;event
の内部で発生します。EventDispatcher
サブスクリプションのリストを調べて、サブスクリプションがある場合は、このイベントに割り当てられた のaction
メソッドを呼び出しますobserver
。
ここまで来ましたEventDispatcher.h
。注意には、疑似コードが含まれています。
次の 2 つの質問があります。
action
inの型を定義するにはどうすればよいstruct Subscription
ですか?- 私は正しい方向に進んでいますか?
PS:いいえ、私は他のライブラリを使用するつもりはありませんboost
。
このヘッダーは、次のように実装されますEventDispatcher.cpp
magento - オブザーバーで注文ステータスを取得するにはどうすればよいですか?
イベントの下でsales_order_save_after
、注文ステータスを取得するためのオブザーバーのコードがあります。
ただし、注文状況は未定です。なんで?
ruby-on-rails - 監査目的で AR オブザーバーでリクエストを確認するにはどうすればよいですか?
特定のモデルを監視to_json
し、モデル名とともにモデルをテーブルに書き込む単純なオブザーバーがあります。誰が変更を行ったかを追跡したいのですが、現在のユーザーにアクセスする方法がわかりません。
おそらく、ApplicationController に入れることができる簡単な宝石やコードのビット、またはそのようなものが役立つでしょうか?
magento - Magento の顧客データの読み込みが機能しない
オブザーバーの関数の 1 つに問題があります。何らかの理由で、さらに操作するために顧客情報を読み込めません
私がチェックしたところ、 $user->getId() は実際にIDを持っています。ただし、たとえば、次のようにします。
ユーザーのパスワードの代わりに null 値が設定されます。
objective-c - ネストされたプロパティのオブザーバーを追加
のようなものを使用すると...
...、currentTrack
currentPlayer が変更されない限り、の変更のみが観察されます。
この問題を修正する最初のアイデアはcurrentPlayer
、変更のたびにオブザーバーを観察して再追加することです。しかし、この問題に対するより良い解決策はありますか?
magento - Magento Observer がエラーを生成し、Magento 領域が混乱する
controller_front_init_routers
サービスからデータを取得しREST
てメニューを構築するイベント オブザーバーを作成しました。オブザーバーがバックエンド (たとえば、製品を保存する方法がない) と残りのサービスでエラーを生成することを発見するまで、すべて問題ありませんでした。私は結論を出すのに苦労しているので、いくつかの質問をしました。
- フロントエンドのみの場合に備えて、Observer メソッドをトリガーする条件を作成しようとしました。しかし、Magento は常にフロントエンド領域にいると考えています。
(var_dump(Mage::app()->getStore()->isAdmin()) は常に false を返し、var_dump(Mage::getDesign()->getArea() == 'adminhtml') と同じです)
また、1つの解決策は、イベントオブザーバーをフロントエンド領域に配置し
config.xml
てロードすることMage::app()->loadArea($this->getLayout()->getArea());
ですが、このコードをどこに配置すればよいですか? 新しいオブザーバーで?それは最も適切なプロセスですか?イベントを一度リッスンしてからリスナーを一時停止する方法はありますか? (メニューが登録されると、もうイベントを聞く必要はありません)
イベントの使用は
controller_front_init_routers
最良の選択ですか?誰がそのような問題を見たことがありますか?
私はMagento版に取り組んでいます。1.12.0.2
ここでconfig.xml
ここで、モデル オブザーバーの getEvent 関数