У меня есть запись заказа с несколькими позициями трубы / воронки (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, ноя знаю, что в моем решении есть что-то очевидное, что я упустил или структурно неправильный.