2015-08-10 3 views
1

У меня яваскрипт сценарий на виде, что отправляет данные в контроллер рельсов с помощью метода поста: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?

+0

В том случае, если вы подаете одну форму, то вы должны установить удаленный истинен, если это форма, которой вы передаете значение. Я предлагаю взглянуть на это http://guides.rubyonrails.org/working_with_javascript_in_rails.html –

+0

У меня есть, но он в основном дает аналогичную проблему - он создает запрос на получение, который должен обрабатываться сервером. – jlrw

+0

Это патч, но вы попробовали redirect_to назад? –

ответ

1

Вы можете бросить в

return false 

везде, где вы хотите, чтобы выполнение кода ваших действий, чтобы остановить

Смежные вопросы