Я застреваю в Delete/Destroy. Любая помощь будет оценена!Почему ссылки на удаление/удаление ссылок не работают?
Я использую Ruby 2.0.0 и Rails 3.2.6 на Mac 10.8.3 с Postgres.
Это удаление звено, которое должно работать:
<%= link_to 'Destroy', @product, method: :delete, data: { confirm: 'Are you sure?' } %>
Но когда я нажимаю на ссылку Уничтожить он направляет меня в профиле пользователя. У меня нет окна подтверждения, и никаких действий не предпринимается (удалять). Кажется, он просто остался на той же странице. Я использую Firefox, но в IE и Chrome такие же.
Это то, что у меня есть:
Драгоценный камень "Jquery-рельс" установлен
applications.js (из приложения/активов/JavaScripts) имеет следующие строки:
//= require jquery //= require jquery_ujs //= require_tree .
application.html.erb (из приложения/виды/макеты) имеет следующие строки:
<%= javascript_include_tag "application" %> <%= csrf_meta_tags %>
В представлении я вижу:
<script src="/assets/application.js?body=1" type="text/javascript"></script> <meta content="authenticity_token" name="csrf-param" /> <meta content="MVlJi+WJE1cwWoHnBrpRWIa13gqio0iPT3IL6kpQYdE=" name="csrf-token" />
в products_controllers.rb (от приложений/контроллеров) у меня есть:
def destroy @product = Product.where(:id => params[:id]).first @product.destroy respond_to do |format| format.html { redirect_to products_url } format.json { head :no_content} end end
в routes.rb (от конфигурации) у меня есть:
resources :products
Что я Неправильно с этой ссылкой Destroy?
В том же проекте RoR ссылка Edit работает нормально.
Итак, почему ссылка не работает? Это проблема Javascript или какая-то другая проблема, которую я не вижу?
А вот журнал сервер (кажется «удалить» действие не было выполнено)
Started GET "/products/9" for 127.0.0.1 at 2013-08-01 20:01:08 -0500
Processing by ProductsController#show as HTML
Parameters: {"id"=>"9"}
Product Load (0.1ms) SELECT "products".* FROM "products" WHERE "products"."id" = 9 LIMIT 1
Rendered products/show.html.erb within layouts/application (0.5ms)
Completed 200 OK in 27ms (Views: 25.8ms | ActiveRecord: 0.1ms)
Поиск в консоли браузера для ошибок 'JavaScript'. –
Попробуйте использовать 'link_to 'Destroy', product_path (@ product.id), метод:: delete', а также взгляните на это: http://stackoverflow.com/questions/4423314/link-to-delete-url- is-not-working – MrYoshiji
См. журнал вашего сервера. – cortex