ich ein einfaches Tagging-System in meine Webapp bauen (Ich habe diese Schritte befolgt: http://www.sitepoint.com/tagging-scratch-rails/)Rails: Suchformular für Stichworte
, So, jetzt ist es funktioniert gut, dass die Menschen auf einem Tag klicken können, zum Beispiel Hunde und sie gehen auf "app.com/search/dogs".
Aber jetzt sollten die Leute auch nach Tags suchen, indem sie ein Formular-Eingabefeld verwenden. Im Moment habe ich versucht, dies:
<%= form_tag('search', method: 'get', controller: 'static', action: 'home') do %>
<%= text_field_tag :tag, params[:tag], placeholder: "Search Posts" %>
<%= submit_tag("Search") %>
<% end %>
, dass der Benutzer bringt: „app.com/search/?utf8=✓ & tag = Hunde & begehen = Suchen“ und das ist nicht funktioniert. Gibt es eine Möglichkeit, die andere Logik zu erreichen?
Hier einige (vielleicht) interessante Codebeispiele:
routes.rb
# search by tags
get 'search/:tag', to: 'static#home', as: "search"
post.rb
def self.tagged_with(name)
Tag.find_by_name!(name).posts
end
static_controller.rb
def home
if params[:tag]
@posts = Post.tagged_with(params[:tag])
else
@posts = Post.all
end
end
posts_helper.rb
def tag_links(tags)
tags.split(",").map{|tag| link_to tag.strip, search_path(tag.strip) }.join(" ")
end
Sorry, ich bin ein echter Anfänger :) Vielen Dank im Voraus!
Sorry, ich sehe, dass ich zuerst dumme Sachen ausprobiert habe! Aber deine Lösung funktioniert großartig! vielen Dank! – FNGR