問題タブ [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.
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を返すことができますか。
ruby-on-rails - Rails/Rackアプリケーションに接続を切断するようにWebサーバーに指示させる方法はありますか
応答なしでHTTP接続をドロップしたい理由は多くのセキュリティ上の理由があります(たとえば、OWASPのSSLのベストプラクティス)。これらがサーバーレベルで検出できる場合、それは大したことではありません。ただし、この状態をアプリケーションレベルでしか検出できない場合はどうなるでしょうか。
Rails、またはより一般的にはRackには、応答なしで接続を切断するようにサーバーに指示する標準的な方法がありますか?そうでない場合は、一般的なWebサーバー(NginxまたはApacheを考えています)でそれを実現するために渡す標準ヘッダーはありますか?標準ヘッダーがない場合でも、その動作を構成するための合理的な方法はありますか?これはばか者の用事ですか?
java - Android/Rails マルチパートアップロードの問題
私の問題は、画像といくつかのテキスト値を Rails サーバーにアップロードしようとすると、テキスト値が param 値だけではなくファイルになってしまうことです。
投稿がサーバー上でどのように見えるか
アンドロイドコードの一部
ruby - Ruby Rack: startup and teardown operations (Tokyo Cabinet connection)
I have built a pretty simple REST service in Sinatra, on Rack. It's backed by 3 Tokyo Cabinet/Table datastores, which have connections that need to be opened and closed. I have two model classes written in straight Ruby that currently simply connect, get or put what they need, and then disconnect. Obviously, this isn't going to work long-term.
I also have some Rack middleware like Warden that rely on these model classes.
接続の開閉を管理する最良の方法は何ですか? 私が知っているように、ラックは起動/シャットダウンフックを提供しません。env の TC/TT オブジェクトへの参照を提供するミドルウェアを挿入することを考えましたが、それを Sinatra 経由でモデルにパイプする必要があり、これも効率的ではないようです。そして、それは TC へのリクエストごとの接続になるだけです。サーバーインスタンスごとのライフサイクルがより適切な寿命になると思います。
ありがとう!