問題タブ [rack]
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 - Rack::TestがWebアプリのCookieを見つけることができません
SinatraアプリをCucumberでテストしているときに、Rack :: Testは、「p」を付けてダンプすることで、Rack :: Test :: CookieJarオブジェクトにあることがはっきりとわかりましたが、アプリが作成したCookieを見つけることができませんでした。 。
ruby - 静的ファイルを提供しようとすると、ラックがエラーをスローする
ラックアップすると、Rack::File:Class に対して呼び出されるプライベート メソッド「open」を取得します。問題がどこにあるのか本当にわかりません。ランニングラック 1.1. 助けてください...
ruby-on-rails - ラックミドルウェアのデッドロック
この単純なRackミドルウェアをRailsアプリケーションに含めます。
それをenvironment.rb内に接続します。
Rails 2.3.5、Webrick 1.3.1、ruby1.8.7を使用しています
アプリケーションが本番モードで起動されると、すべてが期待どおりに機能します。すべての要求はHelloミドルウェアによってインターセプトされ、「Hello」が返されます。ただし、開発モードで実行すると、最初のリクエストは「Hello」を返しますが、次のリクエストはハングします。
ハング状態のときにwebrickを中断すると、次のようになります。
開発モードのクラスリローダーと関係があります。例外にはデッドロックについての言及もあります。
これを引き起こしている可能性のあるアイデアはありますか?これをデバッグするための最良のアプローチに関する推奨事項はありますか?
アップデート
この問題に関連している可能性があります。
json - Sinatra、JavaScript クロスドメイン リクエスト JSON
Sinatra の上で REST-API ビルドを実行します。ここで、API からデータをフェッチする jQuery スクリプトを書きたいと思います。
Sinatra は JSON で応答するように指示されます
単純なルートは次のようになります
私のjQueryスクリプトは単純なajax-callです
実際には、両方が同じ IP、API、および要求元の JS で実行されている限り、すべてが正常に機能します。ただし、良い結果が得られずに、JSONP for Rack を試してみました。おそらく、続行する方法のヒントが必要なだけです。
ruby-on-rails - ユーザーがSinatraアプリをアップロードして、ミドルウェアとしてRails内で実行できるようにすることはできますか?
ユーザーが小さなカスタムアプリ(Wordpressのテーマやプラグインを考えてください)を作成し、自分のサイトにアップロード/実行できるようにしたいと思います。
これにはSinatraアプリを使用することを考えています。これは、ユーザーに多くの柔軟性を提供し、Railsアプリ内でミドルウェアとして実行するためです。
しかし、これがセキュリティに与える影響を理解することはできません。ミドルウェアとして単純なsinatraアプリを作成してみましたが、すべてのRailsモデルとすべてにアクセスできるので、それは悪いことです。sinatraアプリが効果的にサンドボックス化され、悪いことを実行できないように、ラックでこれらを分離する方法はありますか(APIまたは通信用に設定した特定の方法以外)?
私も考えもしなかった、これを達成するためのより簡単な方法があるかもしれないので、アイデアを歓迎します。ありがとう!
ruby-on-rails - Rails アプリでの応答時間の表示
This page took x seconds
Rails アプリケーションのすべてのページの下部にウィジェットを表示したいと考えています。x
リクエストがサーバーで費やしたおおよその時間を反映したいと考えています。これを行う良い方法は何ですか?
編集:私の実稼働サーバーは Phusion パッセンジャー上にあり、mongerel 上の開発環境です。両方でうまく機能するソリューションがあれば幸いです。
更新: この質問の目的のために、Railscast ソリューションは少しやり過ぎだと思います。そこで提案されているミドルウェアを変更して、定数を設定し、それをレイアウトで使用しました。この方法では、コンテンツの長さのヘッダーを変更する必要はありません。これからもニュートリノをよろしくお願いします。Rack ミドルウェアは非常に興味深いものです。
ruby - ラック URL マッピング
2 種類の Rack ルートを作成しようとしています。Rack を使用すると、次のようにルートを記述できます。
私の場合、これらのルートを処理したいと思います。
- 「/」または「インデックス」
- "/*" 他のルートと一致させるため
だから私はこれを試していました:
これはうまくいきますが... 「/」パスを追加する方法がわかりません (「/index」パスの代替として)。私のテストによると、パス「/*」はワイルドカードとして解釈されません。どうすればできるか知っていますか?
ありがとう
ruby - パラメータが指定されていない場合、デフォルト ルートをオーバーライドする
次のスニペットを検討してください。
名前が指定されていない場合、デフォルトのパラメータを設定するにはどうすればよいですか? デフォルトのパラメーターを Tom に設定できる場合、これも URL をルーティングするので、/hello/ は自動的に /hello/tom にリダイレクトされますか?
ruby-on-rails - Rack ミドルウェアとしての Rails 3
Rails は Rack に完全に準拠しているため、Rails アプリケーションが単なるミドルウェアの一部であり、リクエストがミドルウェア スタックのさらに下にある別のアプリにヒットできるようにするには、rackup ファイルをどのようにセットアップするかを考えていました。
私が本当に望んでいるのは、Rails アプリを使用して、後でミドルウェア スタック内の小さなラック アプリの認証と承認を処理することです。これは Rails 3 で可能ですか?
ruby-on-rails - HTMLエンコードUTF-8文字列がlatin1にマングルされます
nginxログを解析していますが、HTTP_REFERER文字列(たとえば、Webサイトの検索に使用されるクエリ文字列)からいくつかの詳細を検出したいと思います。1人のユーザーが「México」と入力すると、ログに「query = M%E9xico」としてエンコードされます。
これを通過Rack::Utils.parse_query('query=M%E9xico')
すると、ハッシュが得られます。{"query" => "M?xico"}
「M?exico」をPostgresに詰め込むと(ただし、より寛容なSQLiteではありません)、文字列が適切なUTF-8ではないために吐き出されます。http://rack.rubyforge.org/doc/Rack/Utils.html#M000324を見ると、unescapeは16進文字列をパックしています。
文字列をUTF-8に戻すにはどうすればよいですか、またはparse_queryを取得して最初にUTF-8を返すことができますか。