开发者

Rails routing error on valid route

I have the following in my routes file:

resources :timelogs do
  member do
    post :stop
  end
  collection do
    get :start
  end
end

which produces the following on 'rake routes' :

rake routes | grep stop
stop_timelog POST   /timelogs/:id/stop(.:format)       {:action=开发者_JAVA百科>"stop", :controller=>"timelogs"}

However, when posting a request to that URL I'm seeing:

Started POST "/timelogs/325/stop" for 188.220.17.64 at Wed Nov 24 02:22:22 -0800 2010
ActionController::RoutingError (No route matches "/timelogs/325/stop"):

All of this looks like it should be working, however, it's not. What could be the problem here?


I see no problem with the routes you've pasted and have verified that they work for me in an scratch app.

Started POST "/timelogs/123/stop" for 127.0.0.1 at 2010-11-24 11:49:25 +0000
  Processing by TimelogsController#stop as */*
  Parameters: {"a"=>"b", "id"=>"123"}
Rendered text template (0.0ms)
Completed 200 OK in 60ms (Views: 59.9ms | ActiveRecord: 0.0ms)

Perhaps something else in your routes.rb is in conflict here?


Actually when you are trying to send your form with exists resource (ticket) rails by default will send PUT request, so you should set :method => :post clear or change route from

post :resolve, :on => :member

to

put :resolve, :on => :member
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜