Rails 3.1 - вызов AJAX-запроса дважды - PullRequest
2 голосов
/ 24 ноября 2011
<%=link_to 'Add note', {:controller => 'home', :action => 'add_note', :id =>user.id}, :remote => true%>

После нажатия на эту ссылку вызывается страница _add_note.html.erb (через JS add_note.js.erb ). Этот файл выглядит так:

$('div#ajax_div').html("<%= escape_javascript(render('add_note')) %>");

Выглядит хорошо, после нажатия на ссылку выше загружается в ajax_div содержимое файла _add_note.html.erb .

Но проблема в том, что после нажатия на ссылку, которую я вижу в Firebug, вызов ajax обрабатывается дважды.

GET /home/add_note?id=39 200 OK 601ms   
GET /home/add_note?id=39 200 OK 1154ms

как это возможно? Что может быть не так?

Ответы [ 2 ]

4 голосов
/ 18 марта 2012

Это, скорее всего, связано с конвейером активов, хотя документация конвейера активов здесь не очень полезна. Возможно, приложение * .js. * Дважды включено в путь ресурса. Run:

$ find . -name "application*.js*"
./app/assets/javascripts/application.js
./public/assets/application.js
./public/assets/application-5f5e14d05ab99cac084b66cb87bbeec8.js
./public/assets/application-5f5e14d05ab99cac084b66cb87bbeec8.js.gz
./public/assets/application-95fca227f3857c8ac9e7ba4ffed80386.js.gz
./public/assets/application-95fca227f3857c8ac9e7ba4ffed80386.js
./public/assets/application.js.gz

Если вы видите изображение, как указано выше, удалите сгенерированные активы из public/assets.

0 голосов
/ 24 августа 2012

Когда вы включаете JS дважды, он будет вызывать два раза

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...