Я создаю веб-сайт, на котором каждый пользователь может просмотреть несколько статей и ответить на несколько вопросов по каждой статье.
Я хочу, чтобы пользователь мог отвечать на вопросы конкретной статьи только один раз (т. Е. Онне может отправить форму более одного раза для одного и того же документа).
Однако я не уверен, как это сделать.Я думал добавить логическое поле submitted
в мою схему для модели question
, но это мало помогает, потому что, когда пользователь отправляет новую форму, значение всегда равно false
(и, таким образом, он может отправить больше, чемодна форма для одной и той же статьи).
questions.new.html.erb
<%= simple_form_for [@user, @project, @paper, @question], url: project_paper_questions_path do |f| %>
<%= f.input :question_2, :collection =>["N/A", "No - 0", "Partially - 0.5", "Yes - 1"], label: "question 2" %>
<%= f.input :question_3, :collection =>["N/A", "No - 0", "Partially - 0.5", "Yes - 1"], label: " question 3%>
<%= f.input :question_4, :collection =>["N/A", "No - 0", "Partially - 0.5", "Yes - 1"],label: "question 4 " %>
<div class="form-actions">
<%= f.button :submit, "Send your review" %>
</div>
<% end %>
question.rb
class Question < ApplicationRecord
belongs_to :user
belongs_to :paper
belongs_to :project
end