我刚刚开始使用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)做什么?无论我是否在路线中包含该页面,该页面似乎都是一样的。
答案 0 :(得分:4)
在视图中使用“=”符号时,会将结果呈现为html:
<%= @posts.each do |post| %>
将以上行更改为:
<% @posts.each do |post| %>
格式仅在您想要渲染多种格式时有用(默认为html),但您可以使用“.xls”或“.json”等调用页面,然后在控制器中使用代码进行响应这些格式。