問題タブ [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 - Sinatra/Rack は応答の準備が整うまでスリープします (Exchange ActiveSync など)
既存の Sinatra Web アプリで軽量のプッシュ スタイルの HTTP 応答を実行したいと考えています。HTTP リクエストに応答せず、将来接続をウェイクアップするまで接続を開いたままにするメカニズムはありますか?
ruby - シナトラ-オンラインのときにデバッグするにはどうすればよいですか?
ローカルで正常に動作する小さな小さなSinatraアプリを作成しましたが、何らかの理由でオンラインにするとすぐに、「内部サーバーエラー」しか表示されません。
ロギング出力を取得するにはどうすればよいですか?
私はSinatraの本の指示に従って、乗客と一緒にDreamhostで実行しています。
そこで、ハンドラーを追加しました。
最初のものは正常に動作し、2番目はエラーをスローします。なぜエラーが発生するのか興味がありません。フィードバックを受け取り、将来エラーを解決する方法に興味があります。
ruby - データベース データをユーザー パスワードで暗号化する最善の方法は何ですか?
アプリケーションにユーザーに属する特定のデータがあり、所有者以外は誰もそれを見ることができないとしましょう。私は DataMapper ORM マッパーで MySQL データベースを使用しています。アプリケーションは Ruby on Sinatra で書かれています。
アプリケーションの動作:
- ユーザーがアカウントにサインアップします。ユーザー名とパスワードを作成します。
- ダッシュボードにログインします。
- 特定のテーブルの一部のフィールドは保護する必要があります。
基本的に、モデル プロパティの自動暗号化を探しています。このようなもの:
その場での暗号化/復号化はパフォーマンスの問題を引き起こすと思いますが、それは問題ありません。少なくともそれがうまくいけば - 私は大丈夫です。
これを行う方法はありますか?
sinatra - 仮想ディレクトリを使用して、Sinatraを開発モードでどのように実行しますか?
本番環境では、アプリケーションは仮想ディレクトリで実行されます。/virt/action
/virt
開発モードでsinatraを実行するときにも使用したいのですが、それを行う方法はありますか?
ruby - Ruby / Sinatraの地理的位置?
私は Sinatra で小さなアプリを作成しています。ユーザーの都市を郵便番号 (ユーザーが入力する)、ユーザーと他のユーザーの間の距離 (郵便番号による)、および場合によっては熱から判断したいと考えています。ジッパーの地図。
どうすればいいですか?geoip gem を試してみましたが、思いどおりに動作しないようです。Google マップのような外部サービスを使用しますか (もちろん、ヒート マップにはこれが必要です)。
助けてくれてありがとう。
ruby - Sinatra で静的ファイルを使用して POST リクエストに応答するにはどうすればよいですか?
Sinatra では、"GET /images/photo1.jpg" リクエストがあった場合... "public" ディレクトリを作成することで、多くの時間を節約できます。見つからないルートは、「パブリック」ディレクトリ内にあると見なされます。
ただし、これは GET リクエストに対してのみ機能するようです。POST リクエストに対して同様のことを行う方法はありますか?
また:
- いくつかの静的メソッドをオンにしますか?
- たぶん、内部要求を偽造していますか?
- 機能を複製しますか?
何か案は?これもバグですか?
PS: POST リクエストでファイルを要求するのは RESTful ではないことはわかっていますが、残念ながら Facebook はそのように動作します。
ruby - Sinatraとrspecを使用したコントローラーメソッドのスタブ
だから私はSinatraアプリのrspecでコントローラーメソッドをスタブする方法を見つけようとしています。これの主な理由は、アプリケーションの論理フローをテストし、特定の条件が満たされたときにアプリケーションが必要な関数を呼び出すことを確認することです。だから、本質的に、私は次のようなことができるようになりたいです
私が苦労しているのは、sinatraアプリ内のコントローラーインスタンスにアクセスすることです。sinatraコントローラークラスのclass_evalを使用して現在の関数をオーバーライドすることはできますが、これらの関数が実際に実行されることを表明したいと思います。
誰かアドバイスはありますか?
ありがとう。
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()
.