2014-01-25 3 views
0

У меня есть простой PagesController с методом 'homepage'. Я просто хочу, чтобы метод отвечал на мой файл шаблона homepage.js.erb, который содержит простой файл console.log("Hello World!"); Так что я написал respond_to do |format| format.js format.html end в моем методе главной страницы, но ничего не делает. (нет hello world в моей хромированной консоли). Если я удалю format.html рельсы, бросьте мне эту ошибку "ActionController::UnknownFormat".Rails 4 reply_to javascript

Это проблема с турбонагнетателями? Как я могу сделать?

Благодаря JD

ответ

0

Turbolinks посылает запрос, как HTML, так что файл JS не получите, но оказывается HTML один и на стороне клиента turbolinks просто заменяет тело нового контента и обновлений URL.

Если вы хотите отобразить файл js.erb, вам необходимо запустить js request not html. просто напишите remote true в link_to.

Пример

= link_to 'XYZ', url, :remote => true 

Или, если вы хотите, чтобы выполнить код JS в браузере для запроса HTML, то вам нужно написать код JavaScript внутри вас HTML-файла (format.html)

Пример:

javascript: 
    console.log("Hello World!"); 
Смежные вопросы