問題タブ [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.
ruby - シナトラ+ラック:セッション:プール
メモリベースのセッションにRack:Session:Poolを使用しています。Rack:Session:Poolで接続されているプールインスタンス変数にアクセスして、すべてのアクティブなセッションと含まれているデータを確認したいと思います。シナトラ内またはirbプロンプトでそれを行うにはどうすればよいですか。
私の最初の考えは::Sinatra:Application :: Rack :: Session:Poolでしたが、それは現在のインスタンスではなくクラスを与えているようで、プール変数にアクセスできません。
ruby - Windows でリクエストごとに Sinatra アプリをリロードする
このスレッドRack::Reload
に従って設定しました
thin viathin start -R config.ru
で実行していますが、新しく追加されたルートのみをリロードします。既存のルートを変更しても、古いコードが引き続き実行されます。
新しいルートを追加すると、正しくリロードされるため、アクセスできますが、他には何もリロードしません。
たとえば、ルートを次のように変更した場合
それが変更されたとしても、/
引き続き を提供しますが、正しくリロードして を提供します。foo
/foo
baz
これは正常な動作ですか、それとも何か不足していますか? ソースファイル全体がリロードされると思います。今考えられる唯一の方法は、ファイルシステムが変更されたときに Web サーバー全体を再起動することです。
Windows Vista x64で実行しているため、fork()
.
ruby-on-rails - Rails の応答時間をビューに表示する
Rails アプリケーションのカスタム Pingdom モニタリングを設定しようとしており、次のような XML 応答を作成したいと考えています。
response_time の値は、Rails が XML 応答をレンダリングするのにかかった時間です。
Mongrel でこれを行うためのリソースをいくつか見つけましたが、Apache Passenger を使用しています。
次のような Sinatra-Metal エンドポイントとして実装されたソリューションがあります。
そして、ビルダービューがあります:
(response_time はミリ秒単位であることに注意してください)。
この実装は、アプリケーションが起動していることを確認するのに十分ですが、それがメタル エンドポイントであるという事実は、実際にはメインの Rails アプリケーションにヒットしていないことを意味するため、アプリケーションの現在の応答時間の実際の測定にはあまり適していません。
より良いアプローチのための良い提案はありますか?
乾杯、アルフォン
ruby - Ruby / Sinatraのスコープ
ActiveRecord テーブルから Student 行を取得するために、ユーザー ID 番号を特定しようとしていますが、何らかの理由で 'post' ブロックが私の :id を見つけられません。
「get」の場合、URL は localhost:9456/update/17 です。データベースを更新するために「post」ブロックに渡す必要があるのは、この 17 です。
これを行う方法がわかりません。URL を解析しますか? 明らかな何かが欠けているようです。
ありがとう!
ruby - Rack::TestとSinatraを使用したコントローラーインスタンス変数のテスト
ユーザーがログインしているかどうかに応じて、ページを読み取り専用または編集可能として提供するSinatraアプリがあります。
コントローラは、@can_edit
編集リンクを表示/非表示にするためにビューによって使用される変数を設定します。@can_edit
テストでの値をテストするにはどうすればよいですか?Rack::Testの下にあるコントローラーの現在のインスタンスを取得する方法がわかりません。
class_eval
コントローラでメソッドをスタブ化するために使用しますが、編集リンクをlogged_in?
チェックして、設定されているかどうかを確認する必要があります。last_response.body
@can_edit
@can_edit
の値を直接テストするにはどうすればよいですか?
ruby-on-rails - mongomapperに埋め込まれたドキュメントを削除するにはどうすればよいですか?
私はmongomapperでsinatraアプリケーションを実行します。Movie(Document)とCover(EmbeddedDocument)というモデルがあります。を使用して映画にカバーを埋め込みます
これはうまくいきます。
@ movies.coversを押すと、埋め込まれたドキュメントの配列を取得しました。しかし、埋め込まれたドキュメントを破棄することはできません。私はこのようなことを試みました:
それを破壊する方法は?誰かが埋め込まれたドキュメントを更新する方法を教えてくれたら素晴らしいと思います。
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 - sinatraアプリケーションをRailsエンジンにすることは可能ですか?
継続的インテグレーションツールとしてIntegrityを使用することを検討していますが、アプリケーション用に別のドメインを設定したくない(または設定できない)。
Sinatraアプリ(整合性など)を取得して、Railsエンジンにすることは可能ですか?どのようにそれを行うのでしょうか?
編集:「エンジン」には通常、コントローラーやビューなどのRailsコードが必要であることに気付きました。
バーニー
asp.net-mvc - .NET の Sinatra、Ramaze などの小さな Web フレームワーク
.NET に Sinatra、Ramaze などの類似のフレームワークはありますか?
理論的には、Sinatra のように (概念的に) クラスファイルを 1 つだけ使用して webapp 全体を作成できるフレームワークを使用しています。
私は、ASP.NET MVC が「大きすぎる」 (そして、その使用方法に混乱する) 社内の何かに使用するつもりです。現在それを嫌っている;))
助言がありますか?
ああ、IIS でホストできるようにする必要があります。私はSinatraでIronRubyに行きますが、IISでそれを設定するための段階的なチュートリアルが見つかりません;)