我非常怀疑,如果他们看到更好的选择去做我想做的事情,我会接受提示。我有一个布局链接到两个相同视图>>
的项目<ul class="nav nav-second-level">
<li>
<%= link_to backoffice_pedidos_path do %>
Abertos
<% end %>
</li>
<li>
<%= link_to backoffice_pedidos_path do %>
Finalizados
<% end %>
</li>
</ul>
我想在视图中看待我选择的内容,如果它点击了#34; Abertos&#34;,它会加载带有部分_abertos的索引,如果它点击了&#34; Finalizados&#34;它加载索引,但加载另一个部分_finalizados。有没有办法在link_to中传递一些参数,以便在视图中我可以处理它以发送到正确的部分?或者有关如何留下的任何提示?
索引&gt;&GT;
<thead>
<tr>
<th>Pedido</th>
<th>Status</th>
<th>Data/Hora </th>
<th>Produtos </th>
<th> </th>
</tr>
</thead>
<tbody>
<% if ??
<%= render partial: "backoffice/pedidos/abertos" %>
else ??
<%= render partial: "backoffice/pedidos/finalizados" %>
<% end %>
</tbody>
部分abertos&gt;&gt;
<% @pedidos_aguardando.each do |pedido| %>
<tr>
<td><%=pedido.id%></td>
<td><%=pedido.status%></td>
<td><%=pedido.created_at%></td>
<!--<th><%=pedido.produtos.first.produto %></th>-->
<td><%=pedido.produtos.pluck (:produto)%></td>
<td width="50px">
<%= link_to edit_backoffice_pedido_path(pedido), class:"btn btn-primary btn-circle" do %>
<i class="fa fa-edit"></i>
<% end %>
</td>
</tr>
<% end %>
Partial fechados
<% @pedidos_finalizados.each do |pedido| %>
<tr>
<td><%=pedido.id%></td>
<td><%=pedido.status%></td>
<td><%=pedido.created_at%></td>
<!--<th><%=pedido.produtos.first.produto %></th>-->
<td><%=pedido.produtos.pluck (:produto)%></td>
<td width="50px">
<%= link_to edit_backoffice_pedido_path(pedido), class:"btn btn-primary btn-circle" do %>
<i class="fa fa-edit"></i>
<% end %>
</td>
</tr>
<% end %>
控制器
def index
@pedidos_aguardando = Pedido.waiting
@pedidos_finalizados = Pedido.ok
end
模型
class Pedido < ActiveRecord::Base
has_many :produtos
scope :waiting, -> { where(status: 1) }
scope :ok, -> { where(status: 2) }
end
我接受提示,谢谢!!
答案 0 :(得分:0)
您可以将自定义参数传递给link_to
,并在索引视图中使用该参数来相应地加载部分
<%= link_to backoffice_pedidos_path(flag: "abertos") do %>
Abertos
<% end %>
<%= link_to backoffice_pedidos_path(flag: "finalizados") do %>
Finalizados
<% end %>
在索引视图中,使用params[:flag]
加载部分,如此
<% if params[:flag] == "abertos" %>
<%= render partial: "backoffice/pedidos/abertos" %>
<% elsif params[:flag] == "finalizados" %>
<%= render partial: "backoffice/pedidos/finalizados" %>
<% end %>