sinatra-authentication gem不寻找正确的观点?

时间:2011-03-04 04:11:38

标签: ruby authentication views sinatra mongoid

我正试图在sinatra和mongoid中为自己写一个小博客引擎,并尝试使用sinatra-authentication gem登录/退出。

我已经让sinatra,mongoid和haml都工作了但是当我访问任何sinatra身份验证页面时,nginx会引发内部服务器错误。

这是我得到的错误

Errno::ENOENT - No such file or directory -     /opt/nginx/html/raptor.patrickarlt.com/views/layout.haml:

您可以在此处查看我的所有文件,包括更多来自我的nginx错误日志https://gist.github.com/854156

得到'/'确认Sinatra正在工作 得到'/ haml'确认haml正在工作 得到'/ private'重定向到'/ login'确认sinatra-authentication正在工作
获取'/ login'内部服务器错误

Ruby 1.9.2
Nginx 0.8.54
乘客3.0.2

1 个答案:

答案 0 :(得分:1)

sinatra-authentication假设您正在使用布局,除非当前请求是XMLHttpRequest(请参阅the code)。您有两种选择:

  1. views/layout.haml中为您的应用程序创建一个布局,如http://sinatra-book.gittr.com/#templates下的几段所述
  2. 覆盖sinatra-authentication的use_layout?方法:

    module Sinatra
      module Helpers
        def use_layout?
          false
        end
      end
    end