Я использую *.js.erb
в своем Rails-приложении, которое реагирует на щелкнув ссылку. Но когда я делаю свою страницу, получая ее через link_to, мне нужно обновить страницу, чтобы она работала. Есть ли трюк, как я могу это сделать?
Вот очень упрощенная версия моего кода:
$(document).ready(function(){
$('#toright').click(alert(">> was clicked"));
});
$(document).ready(function(){
$('#toleft').click(alert("<< was clicked"));
});
$(document).ready(function(){
$('#save').click(alert("save was clicked"));
});
$(document).ready(function() {
alert("The document is ready!");
});
После рендеринга сайта он не показывает мою функцию, но когда я набираю URL-адрес в адресную строку, он работает.
Некоторые РЕДАКЦИИ:
ОБНОВИТЬ:
Поэтому я редактировал приложение application.js для
$(document).ready(function(){
alert("The document is ready!");
$('#toright').click(alert(">> was clicked"));
$('#toleft').click(alert("<< was clicked"));
$('#save').click(alert("save was clicked"));
});
и поместите мой js.erb только в.js в папку my assets/javascripts
. Но в любом случае, это просто не сработает, пока я не обновил страницу.
ready
- это функция jQuery, поэтому вы можете использовать и правильно включить библиотеку jQuery в свой Javascript.
Кроме того, если вам не нужно обмениваться данными между вашим контроллером и вашим Javascript, я советую вам разместить ваш Javascript в папке вашего ресурса, например: /app/assets/application.js.
Это возможно только для приложений Rails 3.x и 4.x.
С наилучшими пожеланиями.
Rails
? использоватьturbo-links
?