我正在尝试在一个简单的 sinatra 应用程序中设置sinatra-authentication gem,并遇到了 sinatra 找不到正确视图的问题。我知道 sinatra-authentication 默认使用 haml,但我在这个应用程序中使用 erb。
考虑到这一点,我在 sinatra-authenticaiton 文档中发现有一个设置允许您更改模板引擎,方法是将以下内容添加到您的应用程序文件中:
configure do
set :template_engine, :erb # for example
end
我已将此添加到我的 app.rb 文件中,当我尝试在我的应用程序中点击 /signup 路由时,sinatra 仍在寻找 signup.haml。
几点注意事项:
我已将 gem 包含在我的 Gemfile 中,并成功在我的应用程序上运行捆绑安装。
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'
这个要点是我的 app.rb 文件在我的 sinatra 应用程序根目录中的当前表示。 https://gist.github.com/rriggin/5378641#file-gistfile1-txt
这是 sinatra 抛出的错误截图:http: //cl.ly/image/0y041t0K3u3O
当我在本地运行应用程序时,会按预期在我的本地数据库中创建一个“dm-users”表。
为了让 sinatra-authentication 正确查找 erb 模板而不是 haml 文件,我是否缺少另一个配置设置。任何帮助将不胜感激。
谢谢