Вопрос

У меня есть Проблемы с моими глаголами в рельсах...

Просмотр страницы для ресурса (собака), которая HAS_MANY (блох). Встроенный в собаку show.html.haml это призыв к render @dog.fleas который автоматически (?) находит и использует шаблон в «Flose / _flea.html.haml», чтобы перечислить каждую блоху, связанную с упомянутой собакой.

Это отображается правильно. Whaw! Теперь, рядом с каждым блохом я положил ссылку «Убить блох», которая идет к URL: //localhost:3000/dogs/1/fleas/7. Отказ Который генерируется:

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

Но каждый раз, когда ссылка нажата, нет подтверждения ... и он делает блох show.html страница. это так, как будто это использует ПОЛУЧАТЬ на /dogs/1/fleas/7 вместо УДАЛЯТЬ?!?

PS- не беспокоится о пауках и роботах, удаляющих вещи в моей базе данных ... Я просто пытаюсь выучить рельсы .. и понять, что происходит

Это было полезно?

Решение

Рельсы 3 теперь используют ненавязчивый JavaScript. В Rails 2.3, Эрб только что засунул весь этот грязный JavaScript прямо в саму ссылку, в событии OnClick. Теперь JavaScript был перемещен из ссылки и во внешние файлы JS. Убедитесь, что у вас есть это в вашей макете:

<%= javascript_include_tag :all %>

Если у вас есть это, могут быть более глубокие проблемы, поддерживая работу вашего JavaScript, но это место для начала. Позвольте мне знать, как это получается.

Другие советы

Привет, вы также можете попробовать это:

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" %>

Проверьте свои <%= javascript_include_tag %> в application.html.erb

Возможно, вы пропустите «приложение» JS

Это должно выглядеть хотя бы

<%= javascript_include_tag "application" %>

Здесь я не использую javascript_include_tag: все: Application и т. Д. Я использую свои собственные файлы JS, с другим пользовательским именем: javascript_include_tag: my_custom_file, и у меня также имели этот вопрос. И я не использую «= нужен jQuery» в файле, но JavaScript / jQuery работает. Я думаю, что рельсы включают jQuery по умолчанию. Что я сделал, я изменил

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

к

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

Теперь его работает нормально.

Проверьте, если application.html.erb.

<%= javascript_include_tag :application %>

не так:

<%= javascript_include_tag :default %>

Похоже, ваш метод link_to не совсем прав. Попробуйте использовать этот код вместо этого:

  <%= link_to 'Kill Flea', [flea.dog, flea], :confirm => 'Sure?', :method => :delete %>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top