Installazione jQuery e cancellazioni

ciao a tutti,

può essere che dopo l’installazione di jQuery non mi funzionino più le
cancellazioni dei record, ad esempio:

      link_to 'Cancella', questionnaire_path(@questionnaire.id),

:confirm => ‘SEI SICURO?’, :method => :delete

mi dà l’errore “Unknown action - the action ‘show’ could not be found
for QuestionnairesController”

… non sono sicuro di avere la giusta configurazione:

in public/javascripts ho:

  • application.js
  • jquery.js
  • jquery.min.js
  • jquery_ujs.js

ed in application.html.erb scrivo:
<%= javascript_include_tag ‘jquery’, ‘application’ %>

( ho rimosso: <%= javascript_include_tag :defaults %> )

2011/7/28 mr ma [email protected]:

link_to 'Cancella', questionnaire_path(@questionnaire.id),

:confirm => ‘SEI SICURO?’, :method => :delete

mi d l’errore “Unknown action - the action ‘show’ could not be found
for QuestionnairesController”

( ho rimosso: <%= javascript_include_tag :defaults %> )

Ciao,

il tag link_to genera un tag ; per implementare l’opzione :method,
cos come altre, fa uso di javascript.
Togliendo :defaults, succede che il tag assume il suo comportamento
standard, che di fare una normale richiesta GET; l’url
/questionnaires/:id, col metodo GET esegue l’action show, che
evidentemente non definita.

Pi informazioni su link_to qui:

Qualcuno ti aveva suggerito di usare jquery-rails, non so se l’hai
fatto.
Se non l’hai fatto, fallo: in Gemfile, aggiungi:

gem “jquery-rails”

Poi devi eseguire il generator incluso nella gemma:
rails generate jquery:install

Come spiegato qui:

Questo elimina prototype, installa jquery e jquery_ujs (che fa quello
che prima faceva Prototype) e fa s che :defaults punti a queste
librerie.

Quindi dovrai ripristinare l’inclusione dei defaults:

<%= javascript_include_tag :defaults %>

A questo punto, i link dovrebbero tornare a funzionare.

pietro

Ciao Pietro,
grazie mille per la spiegazione!

avevo installato jQuery come hai indicato tu… da qualche parte avevo
letto di :defaults e l’avevo rimosso (probabilmente ho mal interpretato
la sovrapposizione…);

l’ho riscritto in ‘application’ e tutto è tornato a funzionare!

Grazie ancora, buona giornata!