J'ai un formulaire de recherche pour rechercher des images par leurs étiquettes. La forme fonctionne un peu, il envoie les paramètres à la page/mais il envoie comme ceci:Comment faire un formulaire de recherche avec acts_as_taggable
search_results?utf8=✓&search=squid%2C+color&x=0&y=0
Et voici ma forme:
<%= 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 %>
et et ma route/contrôleur:
match "/search_results/" => "index#search_results", :via => :get, :as =>"search_results"
class IndexController < ApplicationController
def search_results
@tattoos = Tattoo.tagged_with("%#{params[:search]}%")
end
Mais je n'obtiens jamais aucun résultat.
console Rails montre ceci:
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
Je ne sais pas encore quelle est la question, bien qu'il semble que vous utilisiez un paramètre" q "dans l'action, mais" search "(bizarrement entre parenthèses?) dans la forme. –
J'essayais de reconstituer cette fonction de recherche à partir du lien que je viens de poster et de l'API de ruby sur text_field_tag – rugbert
Quel est le problème? On dirait que l'assistant d'étiquette de terrain fait ce qu'il est censé faire. –