私は私のWebアプリケーションに簡単なタグシステムを構築するためのSearchform(私はこれらのステップに続いてきた:http://www.sitepoint.com/tagging-scratch-rails/)をのRails:タグ
だから、今、それは人々が、例えばタグをクリックすることができ正常に動作しています犬と彼らは "app.com/search/dogs"に行きます。
しかし、人々はフォーム入力フィールドを使用してタグを検索する必要があります。現時点では私が試したこの:
にユーザーをもたらします<%= form_tag('search', method: 'get', controller: 'static', action: 'home') do %>
<%= text_field_tag :tag, params[:tag], placeholder: "Search Posts" %>
<%= submit_tag("Search") %>
<% end %>
:「app.com/search/?utf8=✓&タグ=犬&がコミット=検索」、それは働いていません。他の論理を達成する方法はありますか?
ここではいくつかの(多分)面白いコードサンプル:
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
申し訳ありませんが、私は事前にありがとう:)本当の初心者ですよ!
申し訳ありませんが、私は最初に愚かなことを試みたことがわかります!しかし、あなたのソリューションは素晴らしいです!どうもありがとうございました! – FNGR