Okay, więc widziałem, że this question o tym problemie jest spowodowane wieloma linkami jQuery lub Prototype, ale mogę potwierdzić, że jestem tylko link do jQuery raz na całej stronie. Mój problem jest następujący: kiedy mam link_to
, który potwierdza usunięcie, popup pokazuje dwa razy. Tutaj jest zastosowanie kodu w moim szablonu (napisany w Slim):Rails 3.1 z potokiem aktywów, link_to: potwierdzić wiadomość pokazującą dwa razy?
link_to('Destroy', depot_path(@depot.id), :confirm => "Really?", :method => :delete)
biegnę Rails 3.1.0 z Asset Pipeline włączone, z gem 'jquery-rails'
w moim Gemfile
, i po to w moim application.js
plik (który jest kompilowany przez Sprockets dla potoku aktywów).
//= require jquery
//= require jquery_ujs
//= require 'underscore'
//= require 'backbone'
mam underscore.js
i backbone.js
w moim katalogu /vendor/assets/javascripts/
i zębatkami wydaje się znaleźć te, w porządku. Przeszukałem również plik application.js
, który wyświetla serwery, a jQuery jest tam tylko raz, a jQuery UJS jest tam tylko raz. Tak wygląda moja głowa, gdy wyświetla się moja strona (pominąłem wartość csrf-token
dla wyświetlacza, FWIW).
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<title>Administration</title>
<link href="/assets/screen.css" media="screen" rel="stylesheet" type="text/css" />
<script src="/assets/application.js" type="text/javascript"></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="--token--omitted--" name="csrf-token" />
<script src="/assets/common/subdata.js" type="text/javascript"></script>
<link href="/assets/show.css" media="screen" rel="stylesheet" type="text/css" />
</head>
subdata.js
ma jakiś kod specyficzny dla kręgosłupa; nic, co mogłoby ponownie włączyć jQuery. Więc jaka jest umowa? Nie mam dodatkowego pliku jQuery w dowolnym miejscu mojego projektu; wszystko to jest zarządzane za pomocą klejnotu jquery-rails
. Co powoduje, że moja metoda wywołuje dwa razy?
EDIT: Wcześniej widziałem to na RC5 Rails 3.1, ale teraz widzę to również na Rails 3.1 rzeczywiste.
Używam Rails 3.0. 10 i przydarzyło mi się to po zainstalowaniu klejnotu jquery-rails i uruchomieniu jego generatora, Rails.js nie został usunięty i usunięciu tej stałej koperty – PhillipKregg
Najwyższy czas, abym przyjął to jako odpowiedź - to działało najlepiej dla mnie. Zauważ też, że uruchomienie 'bundle exec rake assets: clean' będzie działało dla usunięcia katalogu' public/assets' Większość z tego wszystkiego była, ponieważ wciąż nie zapisywałem i nie zapisywałem swoich arkuszy stylów w najmniejszy sposób t Potencjalny rurociąg chce, abyś to zrobił. To właśnie dostaję za próbę bycia innym, tak myślę ... –
Dzięki. Nie wiedziałem o "zasobach: czyste", dobrze wiedzieć. Szwy zrobić [mniej więcej to samo] (https://github.com/rails/rails/blob/master/actionpack/lib/sprockets/assets.rake#L83), ale szwy bardziej poprawne. –