2012-03-03 67 views
0

我有简单的删除链接:为什么删除方法给我错误的路径?与

= link_to "Delete", messages_path(message.id), :method => :delete

给我的错误:No route matches [DELETE] "/messages.316"

如何解决这一问题?

我有红宝石1.9.3p0的Rails 3.1.1

我的routes.rb

resources :messages do 
    collection do 
     get :outbox 
    end 
    end 

当我将其更改为message_path我收到wrong number of arguments (0 for 1) - > full_trace:https://gist.github.com/1967988
- >所有文件: https://gist.github.com/1967994

outbox_messages GET /messages/outbox(.:format)   {:action=>"outbox", :controller=>"messages"} 
      messages GET /messages(.:format)     {:action=>"index", :controller=>"messages"} 
        POST /messages(.:format)     {:action=>"create", :controller=>"messages"} 
     new_message GET /messages/new(.:format)    {:action=>"new", :controller=>"messages"} 
     edit_message GET /messages/:id/edit(.:format)  {:action=>"edit", :controller=>"messages"} 
      message GET /messages/:id(.:format)    {:action=>"show", :controller=>"messages"} 
        PUT /messages/:id(.:format)    {:action=>"update", :controller=>"messages"} 
        DELETE /messages/:id(.:format)    {:action=>"destroy", :controller=>"messages"} 

编辑:How to destroy polymorphic model? Method destroy missing argument

+0

什么是您的routes.rb文件有哪些? – 2012-03-03 20:09:10

+0

资源:消息 – tomekfranek 2012-03-03 20:13:50

+0

'rake routes'的输出是什么?你的'Message'模型是什么样的? – 2012-03-03 20:33:18

回答

4

你需要说message_path(单数),因为它是一个单一消息路径:

link_to "Delete", message_path(message.id), :method => :delete 
+0

这是我message_controller:https://gist.github.com/1967994 – tomekfranek 2012-03-03 20:26:39

+0

@regedarek好了...在那里我的回答有问题?拥有你的控制器代码是没有必要的。 – 2012-03-03 20:27:44

+0

是当我使用代码从您的回答,我收到此错误:'''错误的参数数目(0 1)'''全部跟踪:https://gist.github.com/1968069 – tomekfranek 2012-03-03 20:34:37

0

not messages_path。 messages_path返回索引。

1

您使用了错误的URL帮手。只需传递message变量作为link_to的第二个参数即可。

例子:

= link_to "Delete", message, :method => :delete 
+0

最好的答案;) – lucapette 2012-03-03 20:27:34

+0

我得到这个:'''undefined method' acts_as_messageable_message_path'for#<#:0x000000036cc520>'''full tr​​ace:https://gist.github。 COM/1967994#file_error +全+跟踪 – tomekfranek 2012-03-03 20:29:20

相关问题