Почему эта переменная контроллера не проходит через этот код JavaScript?
Сейчас я пытаюсь использовать мой JavaScript для отображения нового вида по щелчку элемента с этим кодом;
$(document).ready(function() {
$('.link-panel').click( function() {
window.location.replace('/quotes/'+gon.gon_quote_id);
});
});
и я получаю следующую ошибку:
Couldn't find Quote with 'id'=undefined [WHERE "quotes"."user_id" = $1]
quote_controller.rb:
def show
@quote = current_user.quotes.find(params[:id])
gon.gon_quote_id = @quote.id
end
def index
@quotes = current_user.quotes.all
# how to pass the individual quote object's id to gon here
конец
Я думаю, что именно так я и привел аргумент url replace
метод, можете ли вы помочь мне с тем, что я делаю неправильно?
(gon
настройка работает нормально, как показывают тесты оповещений.)
Спасибо
2 ответа
Решение
Сценарий не знает, что он предназначен для доступа к переменной из rails, вы должны сделать это так:
$(document).ready(function() {
$('.link-panel').click( function() {
window.location.replace('/quotes/'+<%= gon.gon_quote_id %>);
});
});
Вы должны использовать id
параметр в URL:
window.location.replace('/quotes/?id=' + gon.gon_quote_id);