我收到以下错误
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)
答案 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)