我在 Rails 中遇到了一个奇怪的问题。当我尝试在上传控制器上使用以下表单提交搜索查询时:
<%= 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 %>
我被重定向到以下 url 和错误页面:
/uploads/find_uploads?utf8=✓&search=bot&commit=Search
在 UploadsController#show 中的 ActiveRecord::RecordNotFound
找不到 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 显示操作永远不会被调用!
如果此表单有任何作用,它会在我的索引页面上呈现。