Объявить переменную из .each итерации в контроллере - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь создать метод для самореференциальных отношений, который требует объявления двух переменных в методе контроллера ...

1) Текущая запись, которую просматривает пользователь [record = Record.find (params [: parent_id])]

2) Запись, выбранная из итерации record.each на странице «Показать» основной записи, как показано ниже ...

  <% Record.find_each do |record| %>
    <div>
      <%= record.name %>
    </div>
    <%= form_for(@record.active_relationships.build) do |f| %>
      <div>
        <%= hidden_field_tag :parent_id, record.id %>
      </div>
      <%= f.submit "Follow" %>
    <% end %>
   <% end %>

Как эту запись можно объявить в контроллере как переменную, аналогичную той, которая выполняется с основной записью (1)?

Ниже приведен метод, который у меня есть в контроллере до сих пор ...

def create
        record = Record.find(params[:parent_id])
        record.follow(record)
        redirect_to record
    end

Как вы заметите, во второй строке есть два экземпляра записи. Возникающая у меня проблема заключается в том, что я не уверен, как определить второй экземпляр записи, чтобы отразить цель 2.

1 Ответ

0 голосов
/ 14 мая 2019

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

Форма

<%= hidden_field_tag :child_id, @ingref.id %>

Контроллер

current_ingref = Ingref.find(params[:child_id])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...