2017-08-27 14 views
0

私は大きな疑念を抱いています。私は2つの項目と同じビュー>>私はそれが「Abertos」をクリックすると、ビューの私の選択の内容を扱いたいRUBYビューで検証/治療のパラメータを渡す方法

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

にリンクしたレイアウトを持って、それは部分的_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> 

部分abertos >>

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

パーシャル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

あなたはlink_toにカスタムパラメータを渡すので、

よう params[:flag]を使用してパーシャルをロードし、それに応じて

<%= link_to backoffice_pedidos_path(flag: "abertos") do %> 
    Abertos 
<% end %> 
<%= link_to backoffice_pedidos_path(flag: "finalizados") do %> 
    Finalizados 
<% end %> 

とインデックスビューでパーシャルをロードするために、インデックスビューでそのPARAMを使用することができます

<% if params[:flag] == "abertos" %> 
    <%= render partial: "backoffice/pedidos/abertos" %> 
<% elsif params[:flag] == "finalizados" %> 
    <%= render partial: "backoffice/pedidos/finalizados" %> 
<% end %> 
+0

コントローラで何か他の操作を行う必要はありますか?それはちょうど動作しなかったので=(それは部分的にレンダリングしなかった、条件は動作しなかった=(Tks –

+0

いいえ、いいえ、いいえ、私が言ったことを忘れる、それは働いた、非常にありがとう!!!! –

+0

別の質問は、この使用法はRoRのベストプラクティスに従う最良の方法ですか、それとも別の「正しい」方法ですか? –