【发布时间】:2012-07-13 18:44:32
【问题描述】:
我在 Rails 中遇到了一个奇怪的问题。当我尝试在 Uploads 控制器上使用以下表单提交搜索查询时:
<%= form_tag ({:controller => "uploads", :action => 'find_uploads'}), :method => "get" do %>
<%=h text_field_tag :search, params[:search], :id => 'search_field' %>
<br />
<%= submit_tag "Search", :style=>"display:inline;" %>
<% end %>
我被重定向到以下网址和错误页面:
/uploads/find_uploads?utf8=✓&search=bot&commit=Search
ActiveRecord::RecordNotFound in UploadsController#show
找不到 id=0 的上传
我的 find_uploads 路线: get 'uploads/find_uploads' => "uploads#find_uploads"
当我这样做时,我得到了这样的路由:
uploads_find_uploads GET /uploads/find_uploads(.:format) {:controller=>"uploads", :action=>"find_uploads"}
一切似乎都井井有条......不知道为什么它没有按预期工作。出于调试目的,我在 find_uploads 和 show 操作中都放置了断点,但都没有到达,所以这个错误消息一定是对我说谎,因为 UploadsController 显示操作永远不会被调用!
如果该表单有任何作用,它会在我的索引页上呈现。
【问题讨论】:
标签: ruby-on-rails-3 get url-routing