コンテンツが検索されているキーワードをデータベースで検索する単純な検索フォームを実装しようとしています。
私のビューは次の形式です。
<%= form_tag search_keywords_path, :method => 'get' do %>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search", :name => nil %>
<% end %>
私のコントローラーにはこれらがあります:
def search
@keywords = Keyword.search(params[:search])
end
def show
@keyword = Keyword.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @keyword }
end
end
モデルキーワード.rb:
def self.search(search)
if search
Rails.logger.debug("debug::Searching for" + search)
@keyword = Keyword.find_all_by_content(search)
end
end
今、検索を実行しようとするたびに、次のエラーが発生します。
ActiveRecord::KeywordsController#show の RecordNotFound ID=search のキーワードが見つかりませんでした
私が理解していることから、何かが show メソッドを台無しにしていますが、その理由や修正方法がわかりません。どんな助けでも大歓迎です。