我有一个带有Haml视图的Rails应用程序,可以在本地运行,也可以在另一台主机上运行。但是在部署到Heroku之后,第一个请求会出错,请参见下面的日志:
Started GET "/" for 88.159.5.1 at 2012-11-02 07:03:56 +0000
- - Processing by SessionsController#new as HTML
- - Rendered sessions/new.html.haml within layouts/application (403.5ms)
- - Completed 500 Internal Server Error in 497ms
- - ActionView::Template::Error (syntax error on line 18, col 4: `all: all'):
- - 1: .sixteen.columns
- - 2: #loginblock
- - 3: .content_title.general
- - 4: %h2= I18n.t :login_title
- - 5: .content
- - 6: = render("layouts/message")
- - 7: = form_tag(sessions_path, :class => 'form') do
- - app/views/sessions/new.html.haml:4:in `_app_views_sessions_new_html_haml___1472882735787050115_50827800'
奇怪的是:在该视图中不存在第18行,它只有17行。在第4行,我没有看到任何错误?可能与Haml或Haml gem无法正常工作有关?请参阅下面的视图文件。感谢您的任何意见!
.sixteen.columns
#loginblock
.content_title.general
%h2= I18n.t :login_title
.content
= render("layouts/message")
= form_tag(sessions_path, :class => 'form') do
.field
= label_tag I18n.t :form_email
= text_field_tag :email
.field
= label_tag I18n.t :form_password
= password_field_tag :password
.field
= submit_tag I18n.t(:login_title), :class => 'button white'
.clear
答案 0 :(得分:0)
找到它:yaml文件中的缩进是4个空格而不是2个,所以级别太深了。由于某种原因,我的本地Rails设置接受此,但Heroku rails设置不接受。因此,在纠正缩进后,Heroku上的一切都很好。