Helpers - компьютеры, интернет, программирование

Как передать параметр для проверки/обработки в представлении 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», он загружает индекс с частичным _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

Я принимаю советы и спасибо !!


Ответы:


1

Вы можете передать пользовательский параметр в 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 %>
27.08.2017
  • Нужно ли мне делать что-то еще на моем контроллере? Потому что это просто не сработало =( Не отрендерил партиал, не сработало условие =( Ткс 27.08.2017
  • Другой вопрос, будет ли это использование лучшим способом следовать лучшим практикам в RoR? Или есть другой правильный способ сделать это? 27.08.2017
  • Новые материалы

    Интуитивное понимание тензоров в машинном обучении
    Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

    Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
    Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

    Почему объяснимость так важна прямо сейчас?
    По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

    Анимированный математический анализ
    Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

    Создание простого слайдера изображений с помощью JavaScript
    Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

    Создание базы данных с помощью супергероя «Python»
    В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

    ИИ для чайников: руководство для начинающих по пониманию будущего технологий
    Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..