1
我有以下嵌套的资源用于新的行动POST请求:当Rails的路线产生嵌套资源
resources :listings do
resources :offers do
member do
put "accept"
put "reject"
end
end
end
在我的列表/ show.html.haml,我有
= button_to "Make Offer", new_listing_offer_path(@listing)
现在,我按一下按钮,铁轨产生一个POST请求,因此错误:
Started POST "/listings/2/offers/new" for 127.0.0.1
ActionController::RoutingError (No route matches "/listings/2/offers/new"):
如果我刷新(GET请求),那么页面DISPLA ys正确。
我相信这个不正确的路由只发生在我添加两个额外的动作:接受和拒绝,这恰好是POST动作。
这是Rails中的错误,还是我的错?我应该如何防止这个错误?
谢谢。
感谢Mike。从你的提示中,我意识到我可以添加:method =>:进入button_to。有用。 – AdamNYC 2011-12-29 17:51:31
没问题。是的,这也可以工作,但除非它是搜索表单或其他东西,否则使用表单提交来执行GET只会让我感到尴尬,所以故意留下该解决方案......但它确实有效! – miked 2011-12-29 18:29:27