Rails Index.html.erb行为不端

时间:2010-07-30 04:51:55

标签: ruby-on-rails ruby

我以为我正在关注这个RoR教程,但显然不是。他们指示我们将此代码写入apps/views/index.html.erb

<h1>Listing posts</h1>

<table>
    <tr>
        <th>Name    </th>
        <th>Title   </th>
        <th>Content </th>
    </tr>

<% for post in @posts %>
    <tr>
        <td><%=h post.name    %></td>
        <td><%=h post.title   %></td>
        <td><%=h post.content %></td>

        <td><%= link_to'Show', post                   %></td>
        <td><%= link_to 'Edit', edit_post_path(post)  %></td> 
        <td><%= link_to 'Destroy', post,
                 :confirm => 'Are you sure?',
                 :method  => :delete                  %></td>
    </tr>
<% end %>
</table>

<br />

<% link_to 'New Post', new_post_path %>

它在第10行附近引发了一个错误,但我不太清楚确切的问题是什么。有人可以为我阐明情况吗?

错误是

 syntax error, unexpected ')', expecting kDO_COND or ':' or '\n' or ';'
....concat(( for post in @posts ).to_s); @output_buffer.concat ...

1 个答案:

答案 0 :(得分:3)

只要@posts是具有Post nametitle属性的对象集合(大概是content个对象),您就拥有标准的RESTful为资源生成的路线,您的视图很好。看看你的控制器。

编辑: for ... in语法需要do。 for post in @posts do ...

所以错误很有帮助 - 关于KDO ...