У меня есть три таблицы - результат, feedback_qs и feedback_qs_results (таблица присоединения).Учитывая существующий результат и feedback_qs, я хочу заполнить таблицу соединения с result_id, feedback_q_id и последующим ответом (text_area).
Я считаю, что отношения правильные ....
# result.rb
has_many :feedback_q_results
has_many :feedback_qs, :through => :feedback_q_results
# feedback_q.rb
has_many :feedback_q_results
has_many :results, :through => :feedback_q_results
# feedback_q_result.rb
belongs_to :result
belongs_to :feedback_q
У меня есть доступ к result_id (result / result.id / feedback) через config / rout.rb ниже ...
resources :results do
member do
get 'feedback'
post 'feedback_create'
end
end
Как будет выглядеть эта форма для заполнения таблицы соединения?Что-то похожее на это (я понимаю, это не правильно) ...?Как мне взять данные через post_controller, чтобы заполнить таблицу соединений?Или он должен проходить через другой контроллер?
<%= form_for :result, url: feedback_create_result_path(result), method: :post do |form| %>
<% for q in FeedbackQ.all %>
<div class="col field">
<p>
<%= form.label q.question_text %>
</p>
<%= text_area_tag id: q.id %>
</div>
<% end %>
<div class="actions">
<%= form.submit "Submit", class: "btn btn-primary" %>
</div>
<% end %>
Как бы выглядел мой метод feedback_create?Несмотря на то, что я видел несколько вопросов, касающихся отношений «многие ко многим» рельсов и заполнения таблиц соединений, ни один из этих вариантов использования, по-видимому, не отвечает моим потребностям.Заранее спасибо.
Обновление. Мой пример использования такой: пользователь сдает экзамен (называемый результатом), а затем проверяет проктора, отвечая на вопросы обратной связи.Я хочу записать отзыв в объединительной таблице