シンプルなsinatraアプリでsinatra-authentication gemをセットアップしようとしていますが、sinatraが正しいビューを見つけられないという問題が発生しています。sinatra-authentication がデフォルトで haml を使用することは理解していますが、このアプリでは erb を使用しています。
これを念頭に置いて、sinatra-authenticaiton docs で、次をアプリファイルに追加することにより、テンプレートエンジンを変更できる設定があることを発見しました:
configure do
set :template_engine, :erb # for example
end
これを app.rb ファイルに追加しましたが、アプリで /signup ルートにアクセスしようとすると、sinatra はまだ signup.haml を探しています。
いくつかのメモ:
Gemfile に gem を含め、アプリでバンドル インストールを正常に実行しました。
source 'https://rubygems.org' gem 'sinatra' gem 'data_mapper' gem 'pg' gem 'dm-postgres-adapter' gem 'sinatra-authentication'
ビュー ファイルの場所を指定する必要があるかもしれないと示唆しているドキュメントを見つけたので、構成ブロックに以下を追加しました。
set :sinatra_authentication_view_path, Pathname(__FILE__).dirname.expand_path + "views/"
**追加することで、アプリファイルにgemを正確に要求したと思います
require "sinatra-authentication" use Rack::Session::Cookie, :secret => 'mys3cr3tk3y'
この要旨は、sinatra アプリのルートにある app.rb ファイルの現在の表現です。 https://gist.github.com/rriggin/5378641#file-gistfile1-txt
これは、sinatra がスローするエラーのスクリーンショットです: http://cl.ly/image/0y041t0K3u3O
アプリをローカルで実行すると、期待どおりに「dm-users」テーブルがローカル データベースに作成されます。
sinatra-authentication が haml ファイルではなく erb テンプレートを適切に検索できるようにするために、私が欠落している別の構成設定はありますか。どんな助けでも大歓迎です。
ありがとう