0

我有一个搜索表单来搜索图像的标签。形式还挺有效,那它就将参数发送到/ search_results页面,但将它作为这样的:如何使用acts_as_taggable制作搜索表单

search_results?utf8=✓&search=squid%2C+color&x=0&y=0 

这里是我的表格:

<%= form_tag ("/search_results"), :method => "get", :class=>"search_form" do %> 
    <%= text_field_tag ("search"), nil, :class => 'search_input', 
    :onblur=>"if(this.value=='')this.setAttribute('class', 'search_input');", 
    :onfocus=>"this.setAttribute('class', 'search_input_clear');" 
%> 
    <%= image_submit_tag("search.png") %> 
<% end %> 

,并和我的路线/控制器:

match "/search_results/" => "index#search_results", :via => :get, :as =>"search_results" 
class IndexController < ApplicationController 

def search_results 
    @tattoos = Tattoo.tagged_with("%#{params[:search]}%") 
end 

但我从来没有得到任何结果。

Rails的控制台显示此:

Parameters: {"utf8"=>"✓", "search"=>"color, animals", "x"=>"0", "y"=>"0"} 
    SQL (0.5ms) SHOW TABLES 
    ActsAsTaggableOn::Tag Load (0.2ms) SELECT `tags`.* FROM `tags` WHERE (name LIKE '\\%color' OR name LIKE 'animals\\%') 
    SQL (0.1ms) SELECT COUNT(*) FROM `tattoos` WHERE (1 = 0) 
    Tattoo Load (0.3ms) SELECT `tattoos`.* FROM `tattoos` WHERE (1 = 0) ORDER BY tattoos.created_at DESC 
+0

我不确定问题是什么,尽管它看起来像你在动作中使用参数“q”,但“搜索”(奇怪的是括号?)在表格。 –

+0

我试图从刚刚发布的链接和ruby api上text_field_tag – rugbert

+0

拼凑这个搜索功能什么是实际问题?看起来像字段标签帮手正在做它应该做的。 –

回答

0

我删除了我周围的PARAMS%,而似乎这样的伎俩:

高清search_results @tattoos = Tattoo.tagged_with(“#{PARAMS [ :搜索]}) 结束