問題タブ [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 に答える
3262 参照

ruby - 本番環境でのSinatraアプリのデバッグに問題があります

乗客を使用してSinatraアプリをデプロイしています。デプロイされたアプリは機能していますが、完全ではありません。一部のパスは正常に機能し、他のパスは単に空白のページをレンダリングします。動作するルートと動作しないルートの間に大きな違いは見当たらず、エラーを追跡できないようです。

ハンドラー

not_foundハンドラーとエラーハンドラーを次のように定義しました。

これらは、開発と本番の両方でローカルマシンで正常に機能しますが、サーバーに表示されることはありません。

Apacheログ

Apacheのaccess.logを追跡し、壊れたパスの1つにヒットすると、500が表示されます。

Rack_hoptoad

また、config.ruにrack_hoptoadミドルウェアをインストールして構成しましたが、例外はhoptoadになりません。

ロギング

私はそのようにロギングを設定しました。

この設定により、ルート内でlogger.infoを呼び出すことができます。これは、ローカルおよびサーバー上で機能するルートに対して機能しますが、壊れたパスはlogger.infoを呼び出すのに十分な距離になりません。

何をすべきか?

500エラーの原因をどのように確認できるかについてのアイデアはありますか?助けてくれてありがとう!

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

ruby-on-rails - Rack/Rails での再入可能なサブリクエスト

複数のアプリケーションで共有する予定の非常に単純な Web サービスを実装する金属エンドポイントを備えたいくつかのエンジン プラグインがあります。それらはそのままで問題なく動作しますが、明らかに、開発とテストのためにローカルにロードしているときに、Net::HTTP に get_response メッセージを送信して、localhost に現在実行中のコントローラー オブジェクト内から別のページを要求すると、即座にデッドロックが発生します。

私の質問は、Rails (または Rack) のルーティング システムは、同じサーバー インスタンスの同じアプリの一部である場合とそうでない場合がある Web サービスを安全に使用する方法を提供するか、または特別なケースをハックする必要があるかということです。 URI のホスト名が自分のものと一致する場合は、render_to_string と一緒に?

0 投票する
6 に答える
5902 参照

ruby-on-rails - Ruby ベースのブログエンジン

Rack対応のブログエンジンは何ですか? 無料のブログを heroku にデプロイしたいのですが、Wordpress.com や Blogerty の無料のホスティングよりも多くのカスタマイズ機能が必要です。

また、別のメモとして、Wordpress を Ruby に移植しようとした人はいますか?

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

javascript - サーバー側の JavaScript エンジンの Ruby バインディング?

ラック アプリケーションがサーバー側の JavaScript エンジンと連携できるようにしたいと考えています。

今のところ、これが可能であるとわかっている唯一の方法は、JVM で JRuby と Rhino を実行することですが、より無駄のないソリューションを望んでいます。

おそらく別の、よりルビーっぽいオプションについて聞いたことがありますか?

編集:コメントを読んで、JRubyとRhinoの両方をJVMで実行すると、ルビーとjavascriptの間の相互運用性が示唆されると誤解していると思い始めています...?
とにかく、それは私にとって望ましい解決策ではありませんが、それでも解決したいと思います。

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

ruby - CGIスクリプトでRuby Thinを使用するには?

lighttpd を使用して実稼働サーバーから提供するいくつかの Ruby CGI スクリプト (Ruby CGI クラスを使用) を作成しました。シンを使用して開発サーバーでそれらをテストしたい。基本的に、すべての CGI スクリプトをディレクトリにドロップし、そのディレクトリでシンを開始したいと考えています。次に、http://localhost:3000/<script > へのすべてのリクエストは、現在のディレクトリで <script> を実行し、結果を返す必要があります。シンにこれを行う方法が組み込まれている場合、私はそれを見つけることができません。自分が何をしているのかわかっていれば、このための Rack 構成ファイルは簡単だと思いますが、私にはわかりません。

アップデート:

このラックアップファイルは機能しているようです。それが最善の解決策かどうかはわかりませんが、開発環境では問題ないはずです。

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

ruby - Passenger の下の Rack の Sinatra が 0 バイトのページを返す

共有 Passenger サーバーで実行される Sinatra アプリを作成しようとしています。今のところ、"hello world" が表示されるだけでよかったのですが、何かがうまく機能していません。私は持っている:

config.ru

myapp.rb

もちろん、sinatra に必要なすべてのサポート ライブラリは /vendor/sinatra-lib にあります。ローカル マシンでこの正確な負荷をかけることができ、チャンピオンのように動作します。ただし、リモート マシンでは、アクセスしようとした URL に対して 0 バイトの応答が返されます。/public ディレクトリがあり、そこからページを正常に表示できることに注意してください。したがって、Rack はまだ応答していると思います。また、基本的な Rack アプリを問題なく実行できるため、Rack を正しく構成する必要があります (少なくとも、Rack アプリを実行するには正しく設定する必要があります)。

この時点で、私が考えることができる唯一のことは、リモートサーバーでRackなどのバージョンを確認することです。ボックスを完全に制御できないため、共有するログ出力が実際にはありません。それが重要なら、私はそれを追跡しようとすることができますが、誰かに何かが飛び出すことを願っています.

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

ruby-on-rails - Rails2.3.5を使用したラックバージョンエラーのバイパス

私は現在、Rails2.3.5アプリを実行しようとしているDreamhostを使用しています。

これが状況です。DreamhostのサーバーにはRails2.2.2がインストールされています。もちろん、共有ホストのRailsバージョンを更新することはできないので、ベンダーでRailsを凍結しました。Rails 2.3.5には、ラックv1.0.1gemが必要です。Dreamhostはラックv1.0.0gemを使用します。だから私が定義しようとすると:

私は得る:

したがって、私が本当に行う必要があるのは、1.0.1を使用するというアプリの要求をバイパスし、Dreamhostの1.0.0を使用することです。誰かがこれを構成する方法を知っていますか?それも可能ですか?助けてくれてありがとう。

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

ruby - Sinatra/Rack は応答の準備が整うまでスリープします (Exchange ActiveSync など)

既存の Sinatra Web アプリで軽量のプッシュ スタイルの HTTP 応答を実行したいと考えています。HTTP リクエストに応答せず、将来接続をウェイクアップするまで接続を開いたままにするメカニズムはありますか?

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

ruby - シナトラ+ラック:セッション:プール

メモリベースのセッションにRack:Session:Poolを使用しています。Rack:Session:Poolで接続されているプールインスタンス変数にアクセスして、すべてのアクティブなセッションと含まれているデータを確認したいと思います。シナトラ内またはirbプロンプトでそれを行うにはどうすればよいですか。

私の最初の考えは::Sinatra:Application :: Rack :: Session:Poolでしたが、それは現在のインスタンスではなくクラスを与えているようで、プール変数にアクセスできません。

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

ruby - Windows でリクエストごとに Sinatra アプリをリロードする

このスレッドRack::Reloadに従って設定しました

thin viathin start -R config.ruで実行していますが、新しく追加されたルートのみをリロードします。既存のルートを変更しても、古いコードが引き続き実行されます。

新しいルートを追加すると、正しくリロードされるため、アクセスできますが、他には何もリロードしません。

たとえば、ルートを次のように変更した場合

それが変更されたとしても、/引き続き を提供しますが、正しくリロードして を提供します。foo/foobaz

これは正常な動作ですか、それとも何か不足していますか? ソースファイル全体がリロードされると思います。今考えられる唯一の方法は、ファイルシステムが変更されたときに Web サーバー全体を再起動することです。

Windows Vista x64で実行しているため、fork().