1

ローカルでも別のホストでも正常に動作する 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
4

1 に答える 1

0

発見: yaml ファイルのインデントが 2 つではなく 4 つのスペースだったので、レベルが深すぎました。何らかの理由で、私のローカル Rails セットアップはこれを受け入れますが、Heroku rails セットアップは受け入れません。インデントを修正したところ、Heroku で問題なく動作しました。

于 2012-11-02T14:35:12.930 に答える