Я пытаюсь отправить переменную JavaScript в контроллер Rails через запрос AJAX, чтобы использовать эту переменную, чтобы найти правильный экземпляр моей модели.AJAX request Rails slideshow
Я могу заставить мой контроллер печатать эту переменную, но я не смог ее сохранить в любом месте, например, частично.
Вот мой js.erb файл:
$(".single-item").on('afterChange', function(event, slick, currentSlide, nextSlide){
$.ajax({
url: 'update_description',
type: 'post',
data: {slideNumber: $(".single-item").slick('slickCurrentSlide')},
dataType: 'json',
success: function(data) {
}
});
И мой файл контроллера:
def index
@posts = Post.all
if params[:slideNumber] == nil
@slideNumber ||= 0
else
@slideNumber = params[:slideNumber]
end
puts @slideNumber
respond_to do |format|
format.html {}
format.js {}
end
end
Это ставит @slideNumber
в контроллер правильно и печатает переменную приходя из JavaScript в консоль, однако я не могу передать его частичным или повторно использовать его в качестве ответа из файла JavaScript. Я что-то упускаю?
Вы пробовали 'reply_with @ slideNumber'? –
Привет, спасибо большое за ваш ответ. Я попытался заменить блок 'reply_to' на' response_with (@slideNumber) ', но я все еще не заметил чего-то, потому что я не получаю эту переменную – Laurence
Я получаю эту ошибку в консоли: POST http: // localhost: 3000/update_description 500 (Внутренняя ошибка сервера) – Laurence