2013-09-11 4 views
-1

Я новичок в Rails, поэтому это, вероятно, легко. Можете ли вы взглянуть на метод удаления в моем коде и сообщить мне, что случилось? Я сделал несколько поисков, но не нашел, что мне нужно делать. В основном я создаю сайт типа твиттера для публикации статусов, которые я изучаю.Что случилось с моим методом delete в Rails?

Спасибо!

<div class="page-header"><h1>All Statuses</h1></div> 

<% @statuses.each do |status| %> 
    <div> 
    <strong><%= status.name %></strong> 
    <p><%= status.content %></p> 
    </div> 
    <div class="meta"><%= link_to 'Show', status %></div> 
    <div class="admin"><%= link_to 'Edit', edit_status_path(status) %> | <%= link_to 'Delete', admin_status_path(status.id), :method=>delete, :class=>destroy, :confirm=>"Are you sure you want to delete this status?" %></div> 
<% end %> 

routes.rb

Testing::Application.routes.draw do 
resources :statuses 


# The priority is based upon order of creation: 
# first created -> highest priority. 

# Sample of regular route: 
# match 'products/:id' => 'catalog#view' 
# Keep in mind you can assign values other than :controller and :action 

# Sample of named route: 
# match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase 
# This route can be invoked with purchase_url(:id => product.id) 

# Sample resource route (maps HTTP verbs to controller actions automatically): 
# resources :products 

# Sample resource route with options: 
# resources :products do 
#  member do 
#  get 'short' 
#  post 'toggle' 
#  end 
# 
#  collection do 
#  get 'sold' 
#  end 
# end 

# Sample resource route with sub-resources: 
# resources :products do 
#  resources :comments, :sales 
#  resource :seller 
# end 

# Sample resource route with more complex sub-resources 
# resources :products do 
#  resources :comments 
#  resources :sales do 
#  get 'recent', :on => :collection 
#  end 
# end 

# Sample resource route within a namespace: 
# namespace :admin do 
#  # Directs /admin/products/* to Admin::ProductsController 
#  # (app/controllers/admin/products_controller.rb) 
#  resources :products 
# end 

# You can have the root of your site routed with "root" 
# just remember to delete public/index.html. 
# root :to => 'welcome#index' 

# See how all your routes lay out with "rake routes" 

# This is a legacy wild controller route that's not recommended for RESTful applications. 
# Note: This route will make all actions in every controller accessible via GET requests. 
# match ':controller(/:action(/:id))(.:format)' 
end 
+1

примечание стороны, ссылка _to: method =>: delete создаст только ожидаемый результат, если javascript включен, так как javascript динамически создает форму и отправляет ее. Если вы хотите, чтобы всегда отправлялся запрос POST, используйте вместо этого кнопку button_to. – Keith

ответ

2

Вы пропустили двоеточие на delete

:method => :delete 

И котировки на классе

:class => 'destroy' 
+0

Готово. Но, похоже, на самом деле я все еще получаю вопрос - неопределенный метод 'admin_status_path» для # <# <Класс: 0x00000104ea2e78>: 0x00000104973b50> –

+0

И мой код:

<% @ statuses.each сделать | статус | %>
<%= status.name %>

<%= status.content %>

<%= link_to 'Show', status %>
<%= link_to 'Edit', edit_status_path(status) %> | <%= link_to 'Delete', admin_status_path(status.id), :method=>:delete, :class=>'destroy', :confirm=>"Are you sure you want to delete this status?" %>
<% end %> <% = link_to 'Новый статус', new_status_path%> –

+0

Что 'admin_status' кстати? Можете ли вы опубликовать свой 'routes.rb' –

Смежные вопросы