検索機能の実装について
検索機能の実装をしているのですが、現在ログインしているユーザーの持つ商品だけを取り出したい
と思っています。
発生している問題・エラーメッセージ
全てのユーザーの商品の情報を抜き出しています。
該当のソースコード
ruby
1 places.controller.rb 2 3 def search 4 @items = Item.search(params[:keyword]) 5 end 6
ruby
1 item.rb 2 3 def self.search(search) 4 if search != '' 5 Item.where('name LIKE(?)', "%#{search}%") 6 else 7 Item.all 8 end 9 end
ruby
1_header.html.rb 2 3 <%= form_with(url: search_places_path, local: true, method: :get, class: "form-inline my-2 my-lg-0 mr-5") do |form| %> 4 <%= form.text_field :keyword, placeholder: "商品を探す", class: "form-control mr-sm-2" %> 5 <%= form.submit "検索",class: "btn btn-success" %> 6 <% end %>
試したこと
mergeなどを試してみたのですがどうも上手くいきませんでした。
詳しい方ご教授お願いいたします。
ruby
1places.controller.rb 2 3 def search 4 @items = Item.search(search_params) 5 end 6 7 private 8 def search_params 9 params.permit(:keyword).merge(user_id: current_user.id) 10 end 11
ruby
1itemsテーブル 2 3class CreateItems < ActiveRecord::Migration[6.0] 4 def change 5 create_table :items do |t| 6 t.string :name,null: false 7 t.integer :store,null: false 8 t.references :user,null: false ,foreign_key: true 9 t.references :place,null: false ,foreign_key: true 10 t.timestamps 11 end 12 end 13end
補足情報(FW/ツールのバージョンなど)
rails 6.0.0
ユーザー管理機能 devise
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー