routes.rbを
resources :videos, except: [:create, :update] do
collection do
get "/search", to: "videos#search", as: "search"
end
resources :comments, except: [:show, :index]
end
モデル/ video.rb
def self.search(search)
if search
find(:all, conditions: ['tag LIKE ?', "%#{search}%"])
else
find(:all)
end
end
videos_controller.rbに作用-AS-タグ付けできる - とのビデオオブジェクトタグの単純な検索
def search
@results = Video.search(params[:search])
end
index.html.erb
<div class="">
<%= form_tag search_videos_path, method: 'get' do %>
<%= label_tag(:search, "Search") %>
<%= text_field_tag :search, "Search by video tag", params[:search] %>
<%= submit_tag "Search", name: nil %>
<% end %>
</div>
Railsの私はまた、ビデオコントローラのindexメソッドへの検索をポイントして、ロジックを含む試してみました...このラインを強調し、...レール、宝石
<%= text_field_tag :search, "Search by video tag", params[:search] %>
を
undefined method `stringify_keys' for nil:NilClass
ビデオインデックスページをロード返しますそこには@結果があります。
act-as-taggable-on gemは、各動画にタグの配列をそれぞれ1つの文字列として与えます。私は、ビデオインデックス内のタグに基づいてビデオを検索しようとしています。私は何が間違っているのか分からない。どんな助けでも大歓迎です。答えを知らせる関連するコードを投稿することを忘れてしまった場合はお知らせください。ありがとう!
が見えると言うする必要がありますが、私はこれが改善されてどのように表示されないのですか? – Swards