【发布时间】:2015-09-08 04:25:06
【问题描述】:
我在编写 Rails 代码时有一个疑问。
在我的link_to 中,我使用了我的路线order 来显示我的订单。所以:
<% @orders.each do |order| %>
<tr>
<th><%= order.name %></th>
<th><%= link_to 'Mostra', order %></th>
</tr>
<% end %>
我看到了我的 rake 路线,并且有一个:
order GET /orders/:id(.:format) orders#show
如果我没记错的话,我用脚手架生成了订单资源。但是,当我手动创建新资源时(不使用脚手架)
我的资源有不同的路线。例如,我有类似name_resource_show(:id) 的节目。这种风格很好,因为我知道如果我想查看特定资源,我必须传递 id。但是在之前的情况下,order 的情况下,我真的不知道 rails 是如何理解使用对象 order 的 id 的。并且:
为什么我有不同的路线名称?为什么我有时有_path 有时(也许当我用脚手架生成资源时)还有其他东西?
我期望像order_show(:id) 而不仅仅是order。
它是如何工作的?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 routes scaffolding