問題タブ [sinatra]

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 投票する
2 に答える
300 参照

ruby - 初心者シナトラの質問

シナトラを使用してファイルを返すために、私はこれを使用していました:

着信 URL は " http://localserver:4567/myfile.htmlです。

それは機能しますが、もっと良い方法があるに違いないと思いますが、sinatra サイトで優先メカニズムを見つけることができません。

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

ruby - sinatraでいくつかのルートを.htaccessファイルで保護できますか?

私はSinatraで小さなアプリを作成し、いくつかの管理ルート(/ admin / new、admin / edit / 2、...)を持っており、.htaccessプロンプトでそれらを保護したいと考えています。誰かが私にそれをどのように行うか教えてもらえますか?

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

xml - Sinatra Ruby アプリ経由で POST された XML を処理する方法

クライアント用にまとめる必要がある新しい小さな Web サービス (WS) に Sinatra を使用することを計画しています。

WS には 2 つのメソッドしかありません。1 つは GET 経由で、もう 1 つは POST 経由でアクセスします。POST メソッドの場合、クライアントは XML パケットを sinatra WS に送信します。sinatra WS はデータを解析し、200 OK HTTP 応答または 40x エラー コードを発行します。

私の質問は、受信した POSTed XML パケットを Sinatra で解析するにはどうすればよいですか?

着信データ パケットがどのように見えるかの例を次に示します。

Crack XML などで解析できるように、Sinatra params オブジェクトを介してデータ パケットにアクセスする方法はありますか? それとも、WS に POST された XML データ パケット全体を取得するために、ある種の Rack 変数を使用する必要がありますか?

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

ruby - RubyとDatamapperは、レコードが存在するかどうか、そしてどこにあるかをチェックしますか?

Sinatra、Datamapperで構築している基本的なRubyアプリがあり、OAuthを使用したユーザー認証があります。Oauthサービスからデータを受信すると、新しいユーザーのレコードをsqlite3データベースに保存します。

方法がわからないのは、ユーザーレコードがユーザーデータベーステーブルにまだ存在しないことを確認する方法です。ユーザーの一意のID(uid)を使用して、uidが既に保存されているかどうかをクロスチェックできますが、これをどこで行うかがわかりません。

2つのクラスと/callbackルートがあります。Userクラスはdbモデルであり、Authenticationクラスには、OAuthに接続するためのさまざまなメソッドと、Authentication.saveメソッドが呼び出される/callbackルートがあります。

Authentication.saveメソッド内の既存のレコードをチェックして、ブール値などを返す必要がありますか?Authentication.existsのような新しいメソッドをAuthenticationに作成しますか?(そしてそれはどのように見えるでしょうか?)または/コールバックルート内をチェックする必要がありますか?

これが100%明確でなかった場合は、お詫び申し上げます。問題を説明するのに苦労しており、Rubyの初心者です...

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

ruby - SinatraとMongoDBの使用-httpリクエスト間のmongodb接続を「存続」させるための推奨される方法は何ですか?

ASP.NETを使用しましたが、現在はSinatra/MongoDBアプリに取り組んでいます。ASP.NETアーキテクチャでは、特定の要求が使用するデータベースへの接続は、ADO.NETが管理する接続のプールから取得されます。接続はリクエスト間でプール内で維持されるため、接続の構築と切断のコストはhttpリクエストごとに支払われません。

Sinatra MongoDBアプリにも同様のメカニズムがありますか、それとも各リクエストに接続/切断する必要がありますか?メカニズムがある場合、コードはどのようになりますか?

編集1:以下は機能しません。ブラウザが送信する各HTTPリクエストは、css、js、jpegファイルのリクエストを含め、new.db行にヒットします。

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

ruby - Ruby Sinatra - パブリック フォルダー内のファイルにカスタム ルートを追加する

さまざまなクライアントで使用される Sinatra アプリがあります。クライアントの会社のロゴと各クライアントのカスタム layout.erb を表示したいと考えています。

コードベースは基本的に誰にとっても同じです。必要なのは、'Public' ディレクトリと 'layout.erb' で異なるファイル セットを簡単に維持する方法と、リモート サーバーに展開するときに、特定のクライアントのファイルのみを自動的にコピーする方法だけです。

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 投票する
1 に答える
740 参照

ruby - 薄い(ルビー)はバーフィングです

シンプルなシナトラアプリ:

それで:

そして、http:// localhost:4567を押すと、接続が切断され、次のようになります。

すべての宝石は最新です。私はruby1.8.7(2008-08-11パッチレベル72)を実行しています[i686-darwin9.6.0]

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

ruby - Cucumber での Sinatra ヘルパーのスタブ

現在、 Sinatraアプリのヘルパー メソッドをCucumber内からスタブ化するのに苦労しています。

簡単なセッション認証 (Cookie による)を備えたSinatraアプリがあり、 Cucumberシナリオのlogged_in?ヘルパー メソッドをスタブ化して認証を無効にしたいと考えています。セッションに関して Sinatra と Cucumber に問題があるように思われるので、Mocha を使用して問題を回避することを考えました。

Sinatra::Applicationただし、 -Block 内からインスタンスにアクセスGivenしてメソッドをスタブ化する方法がわかりません。

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

ruby - Sinatra (Ruby Web フレームワーク) で一度だけ実行したいコードをどこに配置すればよいですか?

これがルビーの質問なのかシナトラの質問なのかわかりません。どちらも初めてなので。最初の my_variable がそのブロックに対してローカルであるため、次のコードは機能しません。その理由は理解できます。私はそれを正しくするための構文を知りません。

EDIT1 - 次のように動作しますが、構成ブロックの適切な目的について混乱していると思います。