@daigo01090118 (daigo ikeda)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

rails の NameErrorについて

Q&A

Closed

解決したいこと

railsでECサイトのサンプルを作成しているのですが
管理者用の商品一覧画面に遷移しようとしたときにエラーが出ます

発生している問題・エラー

スクリーンショット 2021-07-26 22.19.15.png
if params[:keyword] != null
が原因だとは思うのですが、なぜ悪いのかわかりません

エラーにあったapp/controllers/dashboard/products_controller.rb
のソースコードを下にコピペします。

該当するソースコード

lass Dashboard::ProductsController < ApplicationController
  before_action :authenticate_admin!
  before_action :set_product, only: %w[show edit update destroy]
  layout "dashboard/dashboard"

  def index
    sort_query = []
    @sorted = ""

    if params[:sort].present?
      slices = split(' ', params[:sort])
      sort_query[slices[0]] = slices[1]
      @sorted = params[:sort]
    end

    if params[:keyword] != null
      keyword = trim(params[:keyword])
      @total_count = Product.search_for_id_and_name(keyword).count
      @products = Product.search_for_id_and_name(keyword).sort_order(sort_query).display_list(params[:pages])
    else
      keyword = ""
      @total_count = Product.count
      @products = Product.display_list(params[:page])
    end

    @sort_list = Product.sort_list
    redirect_to dashboard_products_path
  end

  def new
    @categories = Category.all
  end

  def create
    product = Product.new(product_params)
    product.save
    redirect_to _pathdashboard_products
  end

  def edit
    @categories = Category.all
  end

  def update
    @product.update(product_params)
    redirect_to dashboard_products_path
  end

  def destroy
    @product.destroy
    redirect_to dashboard_products_path
  end

  private
    def set_product
      @product = Product.find(params[:id])
    end

    def product_params
      params.require(:product).permit(:name, :description, :price, :category_id)
    end
end

自分で試したこと

NameErrorなのでメソッドが定義されていないか、スペルミスが原因かなと思ったのですが、探してみてもわかりませんでした。
回答よろしくお願いします。

0 likes

2Answer

Comments

  1. @daigo01090118

    Questioner

    回答ありがとうございました。
    lochalhostがリダイレクトの繰り返しでサーバーが動いていないとでるのですがどうしたら良いでしょうか?
  2. 状況が分かりません。この質問はクローズし、新しく質問を作って状況を詳しく書いてください。

Your answer might help someone💌