0

我刚开始使用 Ruby on Rails,为了练习,我正在创建一个简单的博客应用程序。在我创建的用于查看所有帖子列表的页面上,传递给页面的所有数据都呈现在页面顶部附近的数组中,如下所示:

在此处输入图像描述

我无法弄清楚为什么显示数组。这是该页面的控制器:

def index
    @posts = Post.all
end

继承人的观点:

<h1>Listing posts</h1>
<table>
<tr>
    <th>Title</th>
    <th>Text</th>
</tr>

<%= @posts.each do |post| %>
    <tr>
        <td><%= post.title %></td>
        <td><%= post.text %> </td>
    </tr>
<% end %>
</table>

对于我尝试过的路线:

get '/posts/(.:format)' => 'posts#index'

get '/posts' => 'posts#index'

另外作为一个附带问题, (.:format) 到底了什么?无论我是否在路线中包含该页面,该页面似乎都可以正常工作。

4

1 回答 1

4

当您在视图中使用“=”符号时,它会在 html 中呈现结果:

 <%= @posts.each do |post| %>

将上面的行更改为:

 <% @posts.each do |post| %>

该格式仅在您想要呈现多种格式(默认为 html)时才有用,但您可以使用“.xls”或“.json”等调用页面,然后在控制器中使用代码来响应这些格式。

于 2013-09-21T00:03:00.490 回答