Ruby on Rails渲染数据库中的所有数据

时间:2013-09-20 23:57:25

标签: ruby-on-rails ruby

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

enter image description here

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

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)做什么?无论我是否在路线中包含该页面,该页面似乎都是一样的。

1 个答案:

答案 0 :(得分:4)

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

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

将以上行更改为:

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

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