2013-09-11 74 views
-1

我是Rails的新手,所以這可能很簡單。你可以看看我的代碼中的刪除方法,讓我知道什麼是錯的?我做了一些搜索,但沒有找到我需要做的。基本上我正在創建一個Twitter類型的網站來發布狀態,因爲我正在學習。我在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 =>:如果javascript已啓用,delete將僅創建預期結果,因爲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' –