Pregunta

Estoy teniendo problemas con mis verbos en Rails ...

visualiza una página de un recurso (perro), que has_many (pulgas). Incrustado en show.html.haml del perro es una llamada a la que render @dog.fleas automáticamente hallazgos y (?) Utiliza la plantilla en "pulgas / _flea.html.haml" para enumerar cada uno de pulgas asociada a dicho perro.

esta muestra correctamente. ¡Uf! Ahora, junto a cada pulga que he puesto un enlace de "matar pulgas" que va a una URL: //localhost:3000/dogs/1/fleas/7. Que se genera por:

= link_to("Kill Flea", [ flea.dog, flea ], :method => :delete, :confirm => "Sure? A bunny will die")

pero cada vez que se hace clic en enlace no hay confirmación ... y hace que la página show.html de la pulga. es como si se trata de utilizar GET en /dogs/1/fleas/7 en lugar de Eliminar ?!?

ps no está preocupado por las arañas y los robots eliminación de las cosas en mi base de datos ... sólo estoy tratando de aprender Rails..and entender lo que está sucediendo

¿Fue útil?

Solución

Barras de 3 usos Javascript discreta ahora. En Rails 2.3, erb acaba de meter todo lo que javascript sucio a la derecha en el propio enlace, en un evento de clic. Ahora el Javascript se ha movido fuera de la relación, y en archivos js externos. Asegúrate de que tienes esto en su diseño:

<%= javascript_include_tag :all %>

Si usted tiene esto, puede haber problemas más profundos mantener su javascript de correr, pero este es el lugar para comenzar. Quisiera saber cómo resulta.

Otros consejos

Hola también puede probar esto:

application.html.erb:

<%= javascript_include_tag 'jquery_ujs' %>

OR

<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", "jquery.rails.js" %>

Compruebe su <%= javascript_include_tag %> en application.html.erb

Tal vez se echa en falta el js "aplicación"

Se debe buscar al menos como

<%= javascript_include_tag "application" %>

Aquí no estoy utilizando el javascript_include_tag: todos,: aplicación, etc. Estoy usando mis propios archivos js, con otro nombre personalizado: javascript_include_tag: my_custom_file y también tuve este problema. Y yo no estoy usando '= requieren jQuery' en el archivo, pero JavaScript / jQuery está funcionando. Creo rieles incluye jQuery por defecto. Lo que he hecho es que cambié el

link_to "Logout", destroy_user_session_path, :method => :delete 

a

 form_tag destroy_user_session_path, :method => :delete, :id => "logout_form" 
   link_to 'Logout', "#delete", :onclick =>  "$('#logout_form').submit();"

Ahora bien su trabajo.

verificación si application.html.erb

<%= javascript_include_tag :application %>

no como:

<%= javascript_include_tag :default %>

Parece que tu método link_to no está del todo bien. Trate de usar este código en su lugar:

  <%= link_to 'Kill Flea', [flea.dog, flea], :confirm => 'Sure?', :method => :delete %>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top