Ruby on Railsでフリーマーケットアプリを作っています。
マイページの商品一覧ページ(show_exhibit.html.haml)で、
ログイン中のidが持ってる全商品の
imageとtitleのカラムだけ持ってきて一覧で表示させたいのですが、
エラーが出ます。
こちらDB中身の画像です。
現在レコードは6つで、userは2人で、商品を3つずつもたせている状態です。
下記、エラー文です。
NoMethodError in ProductsController#show_exhibit undefined method `id' for :current_user:Symbol Extracted source (around line #33): def show_exhibit @product = Product.find(params[:current_user.id]) end
ファイル名: routes.rb
Rails.application.routes.draw do devise_for :users root to: 'products#index' resources :users, only: [:show, :edit, :update] resources :products do member do get :show_exhibit end end end
ファイル名: products_controller.rb
Rails
1 def show_exhibit 2 @product = Product.find(params[:current_user.id]) 3 end
ファイル名: products/show_exhibit.html.haml
Rails
1.li 2- @product = Product.id 3- @product.each do |p| 4 %p.product 5 = image_tag p.image.url 6 = p.title
試したこと。
ファイル名:products_controller.rb
の
@product = Product.find(params[:current_user.id])
の箇所を
@product = Product.all(params[:current_user.id])
や
@product = Product.all(params[:id],[:current_user.id])
などに
変更させたりしましたが、解決しませんでした。
開発環境
Ruby 2.5.1
Rails 5.2.3
回答1件
あなたの回答
tips
プレビュー