В настоящее время я работаю с button_tag
, чтобы создать тест для отправки ответов в удаленном стиле.При нажатии этой кнопки вместо публикации новой записи выдается ошибка.
ActiveRecord::RecordNotFound (Couldn't find Answer without an ID):
При просмотре журналов сервера я вижу, что он пытается работать с этими параметрами, когдапытаюсь опубликовать Parameters: {"{\"answer_id\":59}"=>nil, "id"=>"15"}
Что я ищу или ожидаю увидеть, так это.Parameters: {"answer_id"=>"59", "id"=>"15"}
Вот button_tag
, который я использую.
<% @question.answers.each do |answer| %>
<%= button_tag "#{answer.answer.titleize}", class: 'btn btn-block btn-lg btn-primary', data: {
remote: true,
method: :post,
url: answer_question_path(@question),
params: { answer_id: answer.id }
} %>
<% end %>
Вот мой контроллер ответа, который отвечает за отправку запроса POST.
class ResponsesController < ApplicationController
def answer
question = Question.find(params[:id])
answer = question.answers.find(params[:answer_id])
response = question.responses.find_or_initialize_by(user: current_user)
if response.update(answer: answer)
head :ok
else
puts 'Something went wrong chief'
end
end
private
def responses_params
params.require(:response).permit(:user_id, :question_id, :answer_id)
end
end
Я попытался использовать to_json
для параметра безуспешно и не смог найти никакого решения в другом месте на SO или других форумах.Есть идеи?