Мне сложно получить что-то, что должно быть невероятно простым в работе.Ruby on Rails - если выражение с использованием параметров - неверный результат
У меня есть онлайн-викторина с вопросами с несколькими вариантами выбора и знаком пропуска/отказа. У меня есть все, что работает корректно, запустите функцию проклятых почтовых пользователей в конце. Независимо от того, установлено ли переданное значение true или false, он всегда отправляет отправленное сообщение. Я сделал что-то немного глупое в этом коде, которое я просто не вижу, или мне придется вернуться через все с помощью тонкой зубной гребенки?
def finalize
quiztype = params[:quiztype]
slug = params[:slug]
@qd = Quizdata.where(quiztype: quiztype, usertoken: slug).take
if @qd
@qd.completed = true
quizdata = JSON.parse(@qd.quizdata)
quizdata["completed"] = true
@qd.quizdata = quizdata.to_json
@qd.passed = params[:passed]
if @qd.save
if params[:passed]
QuizMailer.results_email_user(quizdata, @qd).deliver
else
QuizMailer.results_email_user_failed(quizdata, @qd).deliver
end
QuizMailer.results_email_client(quizdata, @qd).deliver
render json: { errors: [] }
else
render :json => { :errors => @qd.errors.full_messages }, :status => 422 #Unprocessable entity
end
else
render :json => { :errors => [ "Record not found" ] }, :status => 404
end
end
вы можете положить 'ставит params.inspect' выше, если условия, и дайте мне знать выход. – Dusht
I, [2015-11-20T12: 11: 27.109689 # 29542] INFO -: Параметры: {"correct" => "4", "total" => "22", "прошло" => "false" «quiztype» => «mainquiz», «slug» => «MjZlZDA1»} - спасибо за проверку! –