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”
magpie
July 28, 2011, 7:16pm
2
… 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 %> )
magpie
July 28, 2011, 10:05pm
3
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
magpie
July 29, 2011, 9:11am
4
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!