Почему эта переменная контроллера не проходит через этот код 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);
Другие вопросы по тегам