我正在尝试做一个非常简单的搜索。我的控制器中有search
个动作:
def search
@tracker = Tracker.where(params[:search])
end
而且,在我看来:
<%= form_tag trackers_search_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
但是,它仍然会返回零值。这是日志:
Parameters: {"utf8"=>"✓", "id"=>"search", "search"=>"1Xc9fc0e"}
Tracker Load (0.2ms) SELECT "trackers".* FROM "trackers" WHERE ("trackers"."token" = 'search') LIMIT 1
对我而言,它没有将正确的param
传递给select语句,但我不确定原因。
答案 0 :(得分:2)
看起来路由可能搞砸了?您确定search
动作实际上是在调用吗?它看起来像是show
,标识为search
。尝试添加debugger
调用或Rails.logger.debug
调用以查看正在调用的操作。或者只看整个日志条目。