問題タブ [rack-middleware]

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 投票する
0 に答える
2371 参照

ruby-on-rails - ラックミドルウェアでセッション Cookie 名を取得する方法はありますか?

Rack、Ruby on Rails、Sinatra アプリケーションでミドルウェア クラスを使用しています。

ラック・アプリケーション

config.ru:

Ruby on Rails アプリケーション

config/initializers/secret_token.rb:

config/initializers/session_store.rb:

config/initializers/my_middleware.rb:

ミドルウェア クラス

lib/my_middleware.rb:

メソッドでセッション Cookie ('_dummy_session') の名前を取得するにはどうすればよいMyMiddleware#callですか?

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

ruby-on-rails - Rails Engine、搭載可能なアプリなど、ひとつの障害の影響

アプリをメインレールにマウントするか、レールエンジンを使用する場合を想定しています。サブアプリのいずれかが失敗/クラッシュした場合、それはメイン アプリとすべてのサブアプリが失敗/クラッシュしたことを意味します。

これを確実に知っている人はいますか?アーキテクチャを複数のスタンドアロン アプリケーションとインスタンスに分割するか、より大きなアプリの代わりにエンジン/マウント可能なアプリを構築する必要がある場合、システムを構築するかどうか疑問に思っています。心配なのは、アプリ エコシステムの一部が機能しなくなった場合に、残りのアプリケーションにどのような影響が及ぶかということです。

ありがとう

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

ruby-on-rails - Exception_Notification は RecordNotFound 例外を認識しません

初めて exception_notification を使用しようとしています。私は Railscast を見て、http: //smartinez87.github.io/exception_notification/ の著者の指示に従いました。ある種の例外ではすべてがうまくいくように見えますが、他の例外ではそうではありません。

"An ActionView::Template::Error occurred in static_pages#home:「」などのエラーを含む開発環境からのエラー通知をテストして受信しましたRoutingExceptionRecordNotFound私のapplication_controllerのあらゆる種類。

Rails 3.2.12 を使用していて、ミドルウェア スタック アレイをチェックしたところ、ExceptionNotification が最後の 1 つにすぎず、ある種の例外がスタックを下らないように見えるため、Exception Notification は認識されていません。彼ら。

だから、質問は次のとおりです。私は何を間違っていますか? ExceptionNotification によってキャッチされないActionController::RoutingErrorものと、キャッチされて例外通知が通知メールを受信トレイに送信する原因との違いは何ですか。ActiveRecord::RecordNotFoundActionView::Template::Error

前もって感謝します

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

ruby-on-rails - 開発中のサーバーを再起動せずに Rails ミドルウェアをリロードする

lib/some/middleware.rb に配置されたミドルウェアを備えた Rails 4 アプリがあります。これは現在、次のような初期化子を介してスタックに注入されています。

残念ながら、何かを変更するたびに、サーバーを再起動する必要があります。開発モードでリクエストごとに再ロードするにはどうすればよいですか? 自動読み込みまたは to_prepare ブロックでのコードのラップのいずれかを使用して lib コードを再読み込みすることについて同様の質問を見たことがありますが、このシナリオでそれをどのように適用できるかはわかりません。

ありがとう - FJM

更新 #1

ミドルウェアを削除して to_prepare ブロックに再度追加しようとすると、「凍結された配列を変更できません」というエラーが表示されます。

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

ruby-on-rails - config.middleware.insert_before の 3 番目の引数は何ですか?

私は自分の環境をプライベートconfig/environments/staging.rbに保つために以下を使用しています。staging

config.middleware.insert_beforeの 3 番目の引数 ( 'Staging')は何ですか? この特定のパラメーターはどのような意味を持ちますか? productionこのコードを(コピーして に貼り付けて) で実行したい場合config/environments/production.rb、このパラメーターを に変更する必要があります'Production'か? に変更するとどうなり'Fubar'ますか?

ドキュメントソースコードでこれを調べてみましたが、説明がありません。また、本で言及されているのを見つけましたが、説明はせいぜい弱いです:

args パラメーターは、R​​ack フィルターの初期化メソッドに渡す属性のオプションのハッシュです。