0
我有一個搜索表單需要POST到'users/search'。以下是相關的代碼片段: -POST從表單到自定義操作未被操作處理 - 路由錯誤改爲
形式
<%=simple_form_for @user, :url => search_user_path(@user), :input_html => {:method => :post} do |f|%>
<div id="top" style="width:979px; height:30px;">
<%= select "search", :area_id, Area.find(:all).collect { |p| [p.name, p.id]}, {:selected => current_user.address.area} %>
<%= f.association :categories, :as => :check_boxes, :label => false%>
<%= f.submit "Submit"%>
</div>
<% end %>
我希望這張貼到用戶/:ID /搜索
的routes.rb
resources :users do
member do
post 'search'
end
end
耙路線| grep的搜索
search_user POST /users/:id/search(.:format) {:action=>"search", :controller=>"users"}
所以路由存在
用戶控制器具有以下方法
def search
Rails.logger.debug('In users#search')
end
當我點擊提交我得到一個路由錯誤
Started POST "https://stackoverflow.com/users/9/search" for 127.0.0.1 at 2011-10-28 14:11:04 +0530
ActionController::RoutingError (No route matches "https://stackoverflow.com/users/9/search"):
我無能上這和經過大量浪費的研究後,我正在向社區尋求投入。任何指針將非常感激。謝謝。
僅供參考我在軌道上3.0.9和1.9.2的紅寶石
-Tarun
無法使用search_users_path。如果你檢查我的routes.rb,你會發現這是一個成員方法,因此search_user_path(@user)實際上是正確的。 表單語法稍有不同,但我不確定這裏是否重要。 –