Rails 新手在这里,编写一个示例应用程序,它具有以下三个模型和关系:
销售人员:
class Salesperson < ActiveRecord::Base
has_many :clients
客户:
class Client < ActiveRecord::Base
has_many :orders
belongs_to: salesperson
订单:
class Order < ActiveRecord::Base
belongs_to :client
在页面 clients/show.html.erb 我有一个部分呈现以下内容:
<table>
<tr>
<th>Name</th>
<th>Total Orders</th>
<th>Email</th>
<th></th>
</tr>
<% @salesperson.clients.each do |client| %>
<tr>
<td><%= client.full_name %></td>
<td><%= client.orders.count %></td>
<td><%= client.email %></td>
<td><%= link_to 'View Client', client_path %></td>
</tr>
<% end %>
</table>
资源都是嵌套的,页面似乎可以工作,除了一件事:
除了客户路径之外,一切都是动态的:客户名称、订单、电子邮件都显示给销售人员,但查看客户链接似乎总是指向 clients/:id 链接,其中 :id 是销售人员 ID,而不是客户 ID .
例如,因为销售人员 :id 是 1,所以所有客户端路径都将指向整个表的 clients/1。
如何使客户端链接路由像表的其余部分一样正确和动态?