在PostsController #index中获取SyntaxError

时间:2016-01-21 13:27:22

标签: ruby-on-rails ruby

我收到以下错误

C:/ruby/rails/forum/app/views/posts/index.html.haml:7: syntax error, unexpected keyword_ensure, expecting keyword_end ...:Util.html_safe(_erbout);ensure;@haml_buffer = @haml_buffer.... ... ^ C:/ruby/rails/forum/app/views/posts/index.html.haml:10: syntax error, unexpected end-of-input, expecting keyword_end

我的index.html.haml文件如下所示:

- @posts.each do |post|
%h2=@post.title
%p
 Published at
=time_ago_in_words(post.created_at)

2 个答案:

答案 0 :(得分:1)

我认为你必须使用post.title而不是@ post.title,即

- @posts.each do |post|
%h2=post.title
%p
Published at
=time_ago_in_words(post.created_at

答案 1 :(得分:1)

Vikram是对的,你应该使用post而不是@post,但是这个特殊的错误是由不正确的缩进引起的。 HAML不使用结束标记,因此它完全依赖于缩进来确定哪些元素是父元素,子元素等。

应该是这样的:

- @posts.each do |post|
  %h2= post.title
  %p
    Published at
    = time_ago_in_words(post.created_at)