問題タブ [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とSinatraを使用したコントローラーインスタンス変数のテスト
ユーザーがログインしているかどうかに応じて、ページを読み取り専用または編集可能として提供するSinatraアプリがあります。
コントローラは、@can_edit
編集リンクを表示/非表示にするためにビューによって使用される変数を設定します。@can_edit
テストでの値をテストするにはどうすればよいですか?Rack::Testの下にあるコントローラーの現在のインスタンスを取得する方法がわかりません。
class_eval
コントローラでメソッドをスタブ化するために使用しますが、編集リンクをlogged_in?
チェックして、設定されているかどうかを確認する必要があります。last_response.body
@can_edit
@can_edit
の値を直接テストするにはどうすればよいですか?
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") を使用することです...しかし、これはすべてのパラメーターに対して面倒です
ruby-on-rails - Railsラック1.0エラー
スクリプト/サーバーを起動しようとすると、次のエラーが発生します。
私がしたので、それは非常に迷惑です:
しかし、それは常にそのエラーを言います。私はRails2.3.5を持っていますが、エラーはRailsに関連しているとは思いませんが、サーバー関連の笑に似ています。
手伝ってくれてありがとう!
sinatra - Passenger の Sinatra は、最初の試行で常に失敗します
Passenger を使用して共有ホスティング アカウントで実行している小さな Sinatra アプリがあります。しかし、しばらくして初めてアプリにアクセスすると、アプリケーションを起動できなかったという Passenger エラー ページが表示されます。通常、シナトラが見つからないためです。
これは、新しいインスタンスが生成されてからの通常の遅延であると想定しています。ただし、パッセンジャーが完全にロードされるまで Siantra のロードを遅らせる方法はありますか?
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: でエラーが発生します。
ラックアップ ファイルは次のようになります。
http-headers - Expires などの HTTP ヘッダーはどこに設定すればよいですか?
nginx を使用した Phusion Passenger で Sinatra を使用してアプリをデプロイしたいと考えています。静的コンテンツ (スタイルシートなど) に Expires ヘッダーを設定したい場合、これを達成できる場所が 3 つあります。
- Sinatra アプリで、API を使用して
- Rack ミドルウェアを使用
- 私の展開のサーバー構成で
HTTP ヘッダーを設定するのに最適な方法はどれですか?
ruby-on-rails - Rack ミドルウェアの問題を使用した Rack rSpec Controller テスト
rSpec のコントローラー API でのテストに大きな問題があります。現在、ミドルウェア認証ソリューション ( Warden ) を使用しています。仕様を実行すると、ミドルウェアによって追加されたプロキシが存在せず、すべての認証テストでNilPointerException
s がスローされます。
rSpec は最終的なアプリに意図的にミドルウェアを追加していないようです。それを実現するために rSpec にモンキー パッチを適用する方法があるかどうかを知りたいです。
キュウリで全体をテストしましたが、これは古い認証バージョンのリファクタリングであり、機能するために認証ロジックに依存するいくつかのコントローラー テストがあります。
前もって感謝します。
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 内部にあるようです。
以前よりもさらに後退したように感じます。
ruby - SinatraでRack::CommonLoggerを使用する
Sinatraで作成した小さなWebサーバーがあります。メッセージをログファイルに記録できるようにしたい。http://www.sinatrarb.com/api/index.htmlとwww.sinatrarb.com/intro.htmlを読みましたが、RackにはRack :: CommonLoggerと呼ばれるものがありますが、見つかりません。メッセージをログに記録するためにアクセスおよび使用する方法の例。私のアプリはシンプルなので、トップレベルのDSLとして作成しましたが、それが必要なものの一部である場合は、SinatraBaseからサブクラス化に切り替えることができます。
ruby-on-rails - Rackミドルウェアとは何ですか?
RubyのRackミドルウェアとは何ですか?「ミドルウェア」の意味については、良い説明が見つかりませんでした。