如何在 RUBY 视图中传递验证/处理参数

How to pass parameter for validation / treatment in RUBY view

我很怀疑,如果他们看到更好的选择来做我想做的事,我会接受提示。我有一个链接到同一视图中的两个项目的布局 >>

<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>

我想在视图中处理我的 select 的内容,如果它点击 "Abertos",它会加载带有部分 _abertos 的索引,如果它点击 "Finalizados" 它会加载索引,但带有另一个部分 _finalizados。有没有办法在 link_to 中传递一些参数,以便在视图中我可以处理它以发送到正确的部分?或者关于如何住宿的任何提示?

索引>>

                    <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>

部分阿贝托斯>>

           <% @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 %>

意大利面

           <% @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

我接受提示,谢谢!!

您可以将自定义参数传递给 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 %>