問題タブ [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 投票する
1 に答える
2564 参照

ruby - Ruby/Rack でのマルチパート レスポンス

サーバーにマルチパート応答 (multipart/x-mixed-replace) を送信してもらいたい。Sinatra フレームワークまたは一般的な Rack アプリを使用した何らかのソリューションを希望しますが、Ruby の例はどれでもいいでしょう。PHPで私がやろうとしていることと同等のものは次のとおりです。

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

ruby - 真のsinatra(ruby/rack)after_filterの最速の方法は何ですか?

簡単な作業です。クライアントに html をレンダリングした後、リクエストからの情報を使用して db 呼び出しを実行したいと考えています。

私は軽量のマイクロフレームワークであるためsinatraを使用していますが、実際にはRubyのほうが高速/簡単(Rack?)である場合は何でも気に入っています。URLを取得し、そのURLに基​​づいてクライアントを別の場所にリダイレクトしたいだけです。

では、実際の after_filter で Rack/sinatra を使用するにはどうすればよいでしょうか。そして after_filter とは、応答がクライアントに送信された後を意味します。それとも、スレッドなしでは実行できないのでしょうか?

私はsinatraをフォークしてafterフィルターを追加しましたが、応答をフラッシュする方法はありません.send_dataファイルをストリーミングすると想定されていますが(これは明らかにバイナリ用です)、after_filtersを待ちます。

この質問を見たことがあります: Multipart-response-in-rubyですが、答えはレール用です。そして、それが本当にクライアントへの応答をフラッシュし、その後の処理を可能にするかどうかはわかりません。

Rack :: Callbacks には前後のコールバックがありますが、それらでさえ、応答がクライアントに送信される前に実行されるように見えます:

したがって、rake を使用してシェルを介してバックグラウンド タスクを呼び出すことができることを知っています。しかし、そうでないのはいいことです... また、NeverBlockがありますが、応答を遅らせることなく別のプロセスを実行するのに適していますか、それともアプリ全体を待機させますか(私はそうすると思います)?

これがたくさんあることは知っていますが、要するに、応答が ruby​​/sinatra/rack で送信された後に実際に実行される単純な after_filter です。

私の質問を読んだり、答えてくれてありがとう!:-)

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

ruby - シナトラでスラッシュ付きのパラメータを使用するには?

sinatraで遊んでいると、ちょっとした問題で立ち往生しています.paramsをスラッシュで使用すると、ルーターエンジンが混乱します。では、この種のパラメーターをエンコードせずに処理する良い方法はありますか?

コードは次のようになります

And I intend to get something like /add/http://sctackoverflow.com/ working

0 投票する
8 に答える
8944 参照

ruby - シナトラのサクセスストーリー

シナトラをうまく使いましたか? それはどのようなプロジェクトでしたか?Rails や Merb の代わりに Sinatra を使用することをお勧めする状況は?

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

html - ドメインのルートにないときにリンクが適切な場所に移動することを確認するための最良の方法/プラクティスは?

私はこれについてしばらく疑問に思っていましたが、Web アプリ (RoR、Sinatra、PHP など) でリンクを作成するとき (メソッドで生成するか、ドメインのルートにいるかどうかに関係なく、適切な場所に移動します: http://www.example.com/またはhttp://www.example.com/this/is/where/the/アプリ/は/

私の考えでは、エンド ユーザーにアプリの構成のどこかにドキュメント ルートを指定してもらい、それを使用してもらいますが、エンド ユーザーが何も構成しなくてもよい方法を考えようとしています。

編集:エンドユーザーとは、サーバー上でアプリケーションをセットアップする人を意味します。

編集:先頭の「/」を使用して、常にドメインに関連するリンクを取得できますが、問題は、アプリ自体がルートになく、http://www.example.com/thisのような場所にある場合です/is/where/the/app/is/だから私は言いたいgen_link('/')そしてそれを返す/this/is/where/the/app/is/gen_link('/some/thing')、そして返す/this/is/where/the/app/is/some/thing

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

sinatra - Rack と Phusion Passenger で Sinatra アプリを再起動した後、最初のリクエストでエラーが発生するのはなぜですか?

tmp/restart.txt に触れてアプリを再起動すると、最初のリクエストでエラーがスローされます。通常は、Haml::Engine やその他の gem が見つからないことに関するものです。2 番目以降の要求はすべて正常に機能します。Rack 0.4.1 と Sinatra 0.3.3 を実行していた Dreamhost でこの問題が発生していましたが、自分のホストに移動して新しい Rack (0.9.1) と Sinatra (0.9.0.4) を実行した後も、まだ問題が発生しています。

正確な答えがわからないが、それを追跡する方法についてのヒントがある場合は、お知らせください。

これが私のconfig.ruです:

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

ruby - herokuでhamlを使用するには?

私はsinatraでgemなしでhamlを動作させようとしています(私が知る限り、Herokuはgemのインストールを許可していません)

私がこれまでに行ったこと:

  • プロジェクト内で haml git リポジトリのクローンを作成します

  • 追加: 私のsinatraメインファイルにrequire 'haml/lib/haml.rb'

次の作品:

しかし、以下はそうではありません:

エラーが発生します:

NoMethodError - 未定義のメソッドeach' for nil:NilClass (haml):20:inrender'

./haml/lib/haml/engine.rb:152:in `render'

./haml/lib/haml/engine.rb:152:in `instance_eval'

./haml/lib/haml/engine.rb:152:in `render' ...

他に必要なファイルはありますか? 何か案は ?

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

ruby-on-rails - 必要なのは ActiveRecord と ActiveMailer だけですが、Rails/Merb を使用する必要がありますか?

現在Sinatraで実行されている小さな Web アプリケーションがあります。2 ページしかないので、コントローラや多くのビューは必要ありません。データベースとやり取りするための ActiveRecord と、メールを送受信するための ActiveMailer を組み込みました。

このような小規模なプロジェクトで Rails や Merb を使用する価値はありますか? Rails に含まれている機能を追加していることに気づきました。Merb を使った経験がないので、それが適切なオプションになるかどうかはわかりません。しかし、私が聞いたところによると、Merb は少数のコンポーネントしか必要としないプロジェクトに進むための方法である可能性があります。

ありがとう。

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

ruby - モデルとビューを新しい Sinatra 拡張機能に統合する

そのため、新しい可能性を利用してSinatraの拡張機能を作成したいと思います。

拡張機能でモデルといくつかのビュー/テンプレートを統合する必要がありますが、それらを統合する方法や場所がわかりません。

ドキュメントの例よりも複雑なものを既に構築した人はいますか?

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

ruby - WebratでテストするときにCookieを処理する方法は?

Webratを使用してSinatraベースのアプリケーションのCucumberテストを作成しています。一部のテストでは、次のようなシナリオを実装する必要があります

私はこのようなステップを定義します:

成功するとCookieが作成されます

次に、ユーザーがヘルパーメソッドを介して管理ページにアクセスしようとしたときにビューで確認されます。

そして、WebratはCookieを保存していないようです。テストではエラーは報告されませんが、「logged_in?」Cookieが保存されなかったように、ビュー内は常にfalseです。

私は何か間違ったことをしていますか?これがWebratの動作方法である場合、最善の回避策は何ですか?