RAILS более простой способ передать форму обновления, чем создать новый маршрут? - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть запись заказа с несколькими позициями трубы / воронки (pipe_part), каждая из которых записана созданием pipe_record, в которой записывается, кто и когда для этой части.

Я пытаюсь создать кнопку обновления, котораяопубликует изменения для изменения данных в pipe_record, поэтому я перебираю записи заказов, затем создаю форму для каждой позиции, в которой уже есть pipe_record, затем я хочу либо уничтожить, либо обновить, однако я не могу отфильтровать свой набор записей, чтобы создать form_forвозвращает ошибку ключа

 <% @order.pipe.pipe_parts.order("priority").each do |part| %>
          <% if @pipe_records.where("pipe_part_id= ?",  part).present? %>
          <td>

                <% @pipe_position ||=part %>       
                <%= form_for @pipe_record.where("pipe_part_id= ?",  part)  do |f| %>

Это приводит к ошибке ключа неопределенного метода `to_key 'для # Вы имели в виду?to_query to_ary

Я создал вторую итерацию pipe_records в контроллере в случае, если в наборе данных pipe_record возникла проблема с курсором, как показано ниже

   @pipes=Pipe.all.order("name")
   @pipe_records=@order.pipe_records
   @pipe_record=@order.pipe_records

Я попытался создать объект во втором варианте с помощью

<% if @pipe_records.where("pipe_part_id= ?",  part).present? do |pipe_record|%>

, а затем позвоните

<%= form_for pipe_record do |f| %>

, и я собираюсь прибегнуть к созданию нового маршрута и контроллера для страницы обновления, поскольку кажется, что я не могу получить идентификатор для передачи в @pipe_record, ноя знаю, что в моем решении есть что-то очевидное, что я упустил или структурно неправильный.

1 Ответ

0 голосов
/ 19 февраля 2019

.first!

Я забыл, что @pipe_record был коллекцией

<%= form_for @pipe_record.where("pipe_part_id= ?",  part).first  do |f| %>

Решено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...