問題タブ [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.

0 投票する
3 に答える
2845 参照

ruby - Rack::TestとSinatraを使用したコントローラーインスタンス変数のテスト

ユーザーがログインしているかどうかに応じて、ページを読み取り専用または編集可能として提供するSinatraアプリがあります。

コントローラは、@can_edit編集リンクを表示/非表示にするためにビューによって使用される変数を設定します。@can_editテストでの値をテストするにはどうすればよいですか?Rack::Testの下にあるコントローラーの現在のインスタンスを取得する方法がわかりません。

class_evalコントローラでメソッドをスタブ化するために使用しますが、編集リンクをlogged_in?チェックして、設定されているかどうかを確認する必要があります。last_response.body@can_edit

@can_editの値を直接テストするにはどうすればよいですか?

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

ruby - Sinatra / Rack が URL に非 ASCII 文字で失敗する

/find/Wrocław "\xC5" で Encoding::UndefinedConversionError を取得しています ASCII-8BIT から UTF-8 へ

不思議な理由で、sinatra は文字列を本来の UTF-8 ではなく ASCII として渡しています。

ある種の醜い回避策を見つけました... RackがエンコーディングがASCII-8BITであると想定する理由がわかりません... とにかく、方法は string.force_encoding("UTF-8") を使用することです...しかし、これはすべてのパラメーターに対して面倒です

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

ruby-on-rails - Railsラック1.0エラー

スクリプト/サーバーを起動しようとすると、次のエラーが発生します。

私がしたので、それは非常に迷惑です:

しかし、それは常にそのエラーを言います。私はRails2.3.5を持っていますが、エラーはRailsに関連しているとは思いませんが、サーバー関連の笑に似ています。

手伝ってくれてありがとう!

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

sinatra - Passenger の Sinatra は、最初の試行で常に失敗します

Passenger を使用して共有ホスティング アカウントで実行している小さな Sinatra アプリがあります。しかし、しばらくして初めてア​​プリにアクセスすると、アプリケーションを起動できなかったという Passenger エラー ページが表示されます。通常、シナトラが見つからないためです。

これは、新しいインスタンスが生成されてからの通常の遅延であると想定しています。ただし、パッセンジャーが完全にロードされるまで Siantra のロードを遅らせる方法はありますか?

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

ruby-on-rails - Rack::Session:Sinatra、Thin、Rails、および Rack::Cascade を使用した場合の Cookie エラー

Rack::Session::Cookie を使用してセッションを共有する結合された Sinatra/Rails アプリがあります。アプリはRack::Handler::Thin.run appで起動すると正常に動作しますが、ラックアップ ファイルがthin startで起動されている場合、Rack::Session::Cookie: でエラーが発生します。

ラックアップ ファイルは次のようになります。

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

http-headers - Expires などの HTTP ヘッダーはどこに設定すればよいですか?

nginx を使用した Phusion Passenger で Sinatra を使用してアプリをデプロイしたいと考えています。静的コンテンツ (スタイルシートなど) に Expires ヘッダーを設定したい場合、これを達成できる場所が 3 つあります。

  1. Sinatra アプリで、API を使用して
  2. Rack ミドルウェアを使用
  3. 私の展開のサーバー構成で

HTTP ヘッダーを設定するのに最適な方法はどれですか?

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

ruby-on-rails - Rack ミドルウェアの問題を使用した Rack rSpec Controller テスト

rSpec のコントローラー API でのテストに大きな問題があります。現在、ミドルウェア認証ソリューション ( Warden ) を使用しています。仕様を実行すると、ミドルウェアによって追加されたプロキシが存在せず、すべての認証テストでNilPointerExceptions がスローされます。

rSpec は最終的なアプリに意図的にミドルウェアを追加していないようです。それを実現するために rSpec にモンキー パッチを適用する方法があるかどうかを知りたいです。

キュウリで全体をテストしましたが、これは古い認証バージョンのリファクタリングであり、機能するために認証ロジックに依存するいくつかのコントローラー テストがあります。

前もって感謝します。

0 投票する
3 に答える
1829 参照

ruby-on-rails - Rack-Bug パネルが Rails アプリに表示されない

Rails アプリに Rack-Bug をインストールしましたが、パネルが表示されません。

プロジェクト: http://github.com/brynary/rack-bug 追加手順: https://github.com/brynary/rack-bug/wiki/security その他の手順:ラック バグ インストールの問題。サーバーが起動しません (これについては、ドキュメントは本当にひどいです)

上から:

config/environments/development.rb に config.middleware.use 'Rack::Bug' を追加しました。以下を含む config/initializers/rack_bug.rb ファイルを追加しました。

(デスクトップの IP アドレスを指定しました。アプリは .2.3 の Linux 開発サーバーで実行されています)

/ rack_bug /bookmarklet.html に移動し、「Toggle Rack::Bug」ブックマークレットを Firefox ブックマーク ツールバーにドラッグしました。Rails アプリにページをロードし、"Toggle Rack::Bug" ブックマークレットをクリックし、ポップアップ ボックスにパスワードを入力して [OK] をクリックすると、ページがリロードされましたが、Rack-Bug パネルはありませんでした。

機能しない理由がわかりません。IRC チャンネルや Google グループもありません。

更新: そして楽しみは続きます。Windows デスクトップでの Firefox からのパネルのロードがまだ進行していません。ただし、Linux 開発サーバーで Firefox を起動し、ブックマークレットを取得してから、アプリのホームページに移動してクリックしました。パスワードを入力し、リロードすると 500 エラーが発生しました。ログ出力の最初の 4 行を次に示します。

そのため、最初の問題はまだ修正していませんが、最初の問題を修正してもまだ残っている 2 番目の問題を発見しました。2 番目のエラーは、開発サーバー上の Firefox が、エラーが発生したときにパネル実際に読み込んでいたことを暗示しているようです。これは明らかに ruby​​-openid 内部にあるようです。

以前よりもさらに後退したように感じます。

0 投票する
5 に答える
34670 参照

ruby - SinatraでRack::CommonLoggerを使用する

Sinatraで作成した小さなWebサーバーがあります。メッセージをログファイルに記録できるようにしたい。http://www.sinatrarb.com/api/index.htmlとwww.sinatrarb.com/intro.htmlを読みましたが、RackにはRack :: CommonLoggerと呼ばれるものがありますが、見つかりません。メッセージをログに記録するためにアクセスおよび使用する方法の例。私のアプリはシンプルなので、トップレベルのDSLとして作成しましたが、それが必要なものの一部である場合は、SinatraBaseからサブクラス化に切り替えることができます。

0 投票する
9 に答える
73599 参照

ruby-on-rails - Rackミドルウェアとは何ですか?

RubyのRackミドルウェアとは何ですか?「ミドルウェア」の意味については、良い説明が見つかりませんでした。