Ok, quindi ho visto this question su questo problema causato da più collegamenti di jQuery o Prototype, ma posso confermare che sto collegando solo a jQuery una volta sull'intera pagina. Il mio problema è questo: quando ho un link_to
che conferma una delezione, il popup mostra due volte. Ecco il codice applicabile nel mio modello (scritto in Slim):Rails 3.1 con Pipeline Asset, link_to: conferma il messaggio visualizzato due volte?
link_to('Destroy', depot_path(@depot.id), :confirm => "Really?", :method => :delete)
Io corro Rails 3.1.0 con l'Asset Pipeline acceso, con gem 'jquery-rails'
nel mio Gemfile
, e la seguente è nel mio application.js
file (che è compilato da Sprockets per la pipeline di asset).
//= require jquery
//= require jquery_ujs
//= require 'underscore'
//= require 'backbone'
devo underscore.js
e backbone.js
nella mia directory /vendor/assets/javascripts/
e pignoni sembra trovare quelli a posto. Ho cercato anche attraverso il file application.js
che pignoni serve, e jQuery è solo in una volta, e jQuery UJS è solo in una volta. Questo è quello che la mia testa sembra quando la mia pagina esegue il rendering (ho omesso il valore csrf-token
per la visualizzazione, 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
ha qualche codice specifico backbone in esso; nulla che avrebbe scelto di includere nuovamente jQuery. Allora, qual è l'affare? Non ho un file jQuery aggiuntivo da nessuna parte nel mio progetto; è tutto gestito tramite la gemma jquery-rails
. Cosa sta causando il mio metodo :confirm
per sparare due volte?
EDIT: In precedenza stavo vedendo questo su RC5 di Rails 3.1, ma ora lo vedo anche su Rails 3.1 attuale.
Sto usando Rails 3.0. 10 ed è successo a me dopo aver installato la gemma jquery-rails ed eseguito il suo generatore.Rails.js non era stato rimosso e rimuovendo la mia miniera fissa – PhillipKregg
È giunto il momento che io abbia accettato questa risposta - questo ha funzionato meglio per me. Si noti inoltre che l'esecuzione di 'bundle exec rake assets: clean' funzionerà per la rimozione della directory' public/assets'. La maggior parte di tutto è stato perché non ho ancora scritto e archiviato i miei fogli di stile nel modo meno attrito l'Asset Pipeline ti vuole. Questo è quello che ottengo per cercare di essere diverso, immagino ... –
Grazie. Non sapevo di "beni: puliti", buono a sapersi. Cuciture da fare [più o meno la stessa cosa] (https://github.com/rails/rails/blob/master/actionpack/lib/sprockets/assets.rake#L83) ma le cuciture sono più corrette. –