Rails 3路由错误
我昨天有这个工作,我不知道我做了什么来打破它。
以下是RESTful控制器的路由:
brand_responsibilities GET /brands/:brand_id/responsibilities(.:format) {:action=>"index", :controller=>"responsibilities"} brand_responsibilities POST /brands/:brand_id/responsibilities(.:format) {:action=>"create", :controller=>"responsibilities"} new_brand_responsibility GET /brands/:brand_id/responsibilities/new(.:format) {:action=>"new", :controller=>"responsibilities"} edit_brand_responsibility GET /brands/:brand_id/responsibilities/:id/edit(.:format) {:action=>"edit", :controller=>"responsibilities"} brand_responsibility GET /brands/:brand_id/responsibilities/:id(.:format) {:action=>"show", :controller=>"responsibilities"} brand_responsibility PUT /brands/:brand_id/responsibilities/:id(.:format) {:action=>"update", :controller=>"responsibilities"} brand_responsibility DELETE /brands/:brand_id/responsibilities/:id(.:format) {:action=>"destroy", :controller=>"responsibilities"}
我的表单看起来像这样:
true do |f| %> ar.id %> user.id %> @brand.id %>
但是现在我收到了404这条日志消息:
Started POST "/brands/30/responsibilities" for 127.0.0.1 at Tue Oct 26 10:47:17 -0400 2010 ActionController::RoutingError (No route matches "/brands/30/responsibilities"):
肯定看起来路线与我匹配! 我错过了什么?
更新:我也在控制台中试过这个:
rs.recognize_path '/brands/30/responsibilities', :method => :post
并且响应是:
=> {:controller=>"responsibilities", :brand_id=>"30", :action=>"create"}
我有什么优惠?
更新#2:
我找到了原因,但我不知道为什么会这样。 我有另一个领域:
ar), :remote => true, :method => :delete %>
我在表格中包括在内。 为了简洁起见,我之前把它留了下来,因为我觉得它不重要。 我觉得那是个坏主意。
有人知道为什么表格中存在该行会导致奇怪的路由错误吗?
看起来好像我是个白痴。
抛弃那条至关重要的信息是一个坏主意。 在表单中使用button_to是禁忌,它在表单中创建表单。
菜鸟错了。 太糟糕了,我已经做了很长时间了。 赞成评论者,抱歉浪费宝贵的时间。