collectionを用いてルーティングを行い、独自のsearchアクションを設けたのですが検索結果が表示されず困っています。formでsearchアクションへのパスを指定しております。パラメーターの値は正しく送信されているようですが、htmlが返ってこないです。
searchアクションへ飛ばすフォーム <%= form_with(url: search_folders_path, method: :get, class: "form-form-inline my-2 my-lg-0") do |f|%> <%= f.text_field :keyword, placeholder: "Search", class: "form-control mr-sm-2" %> <%= f.submit "Search", class: "btn btn-outline-success my-2 my-sm-0" %> <% end %> </div> </nav>
Searchアクション部分 def search @folders = Folder.all @documents = Document.search(params[:keyword]) if @documents return search_folders_path else redirect_to root_path end end
コントローラー内searchアクションのビュー <div wrapper> <%= render "documents/side_bar" %> <div class="row" > <div class="col-3"> <%= render "documents/folders" %> </div> <div class="col" style="height:100vh;"> <div class="document " style="padding: 15px 30px 15px 30px;"> <% @documents.each do |document| %> <div class="row d-flex justify-content-around"> <div class="col-3 border"style="padding: 10px;"><%= document.document_name %></div> <div class="col-3 border"style="padding: 10px;"><%= document.created_at %></div> <div class="col-3 border"style="padding: 10px;"> </div> <div class="preview " > <% document.images.each do |image| %> <%= image_tag image.preview(resize: "1000x1050")%> <% end %> <% end %> </div> </div> </div> </div>
def self.search(search) if search != "" Document.where("document_name LIKE(?)", "%#{search}%") end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。