У меня яваскрипт сценарий на виде, что отправляет данные в контроллер рельсов с помощью метода поста:Rails создать без редиректа или обновить
$.post("/user_answers?user_answer[question_id]=" + gon.questions[questionNum]["id"] + "&correct=true")
и в основном контроллер принимает этот пост и обновление или создает новый user_answer.
def create
@user_answer = current_user.user_answers.find_or_initialize_by(answer_params)
# Handles box assignment based on correct or wrong answer
if params[:correct] == "true"
@user_answer.box = 1
elsif params[:correct] == "false"
@user_answer.box = 2
end
@user_answer.save
end
Это работает отлично, за исключением того, я заметил, что контроллер пытается перенаправить user_answers/создать и возвращает ошибку, потому что не существует. Это не влияет на опыт пользователя вообще, но он делает дополнительный запрос на сервер без каких-либо причин.
Дело в том, что я не хочу перенаправлять на что-либо или обновлять что-либо, потому что сообщение просто нужно обновить запись. Представление обновляет себя с помощью Javascript. Как удалить действие redirect_to по умолчанию в .save или .create?
В том случае, если вы подаете одну форму, то вы должны установить удаленный истинен, если это форма, которой вы передаете значение. Я предлагаю взглянуть на это http://guides.rubyonrails.org/working_with_javascript_in_rails.html –
У меня есть, но он в основном дает аналогичную проблему - он создает запрос на получение, который должен обрабатываться сервером. – jlrw
Это патч, но вы попробовали redirect_to назад? –