我想从我的/clients/:client_id
show
页面链接到现有路由/clients/:client_id/invoices/:id
并不能工作如何做到以正确的路由。无法链接使用的link_to
我有一个has_many through:
关系,这里是我models
class Client < ActiveRecord::Base
has_many :invoices
has_many :items, through: :invoices
class Invoice < ActiveRecord::Base
belongs_to :user
belongs_to :client
has_many :items, :dependent => :destroy
accepts_nested_attributes_for :items, :reject_if => :all_blank, :allow_destroy => true
class Item < ActiveRecord::Base
belongs_to :invoice
belongs_to :client
我的路线
resources :clients do
resources :invoices
end
resources :invoices
我的客户端控制器显示行动
def show
@client = Client.find(params[:id])
@invoices = @client.invoices.build
end
而且我的客户show.html.erb
<div class="panel-body">
<table class="table table-hover">
<thead>
<tr>
<th>Sender</th>
<th>Reciever</th>
<th>Amount</th>
<th>Currency</th>
<th>Date</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @client.invoices.each do |invoice| %>
<tr>
<td><%= invoice.sender %></td>
<td><%= invoice.reciever %></td>
<td><%= invoice.amount %></td>
<td><%= invoice.currency %></td>
<td><%= invoice.date %></td>
<td><%= link_to 'Show', invoices_path(@clients, @invoice) %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
每次我点击link_to show
其路由我/invoices
我已经尝试了一堆不同link_to
格式,但我一直没能弄明白。