私はこれをしばらく探していましたが、答えが見つからないようです。ただし、私よりも Rails の経験が豊富な場合は、かなり簡単に修正できるはずです。製品モデルに複数の default_scope 条件を追加しようとしています。私の製品モデルファイルは次のとおりです。
class Product < ApplicationRecord
has_many :order_items
default_scope { where(active: true) }
validates :name, presence: true, length: { maximum: 300 }
PRICE_REGEXP = /\A\d{1,4}(\.\d{0,2})?\z/
validates :price, presence: true,
numericality: true,
format: { with: PRICE_REGEXP }
validates :description, presence: true, length: { maximum: 1000 },
allow_nil: true
end
私も追加したいと思います
default_scope -> { order(created_at: desc) }
製品インデックス ページの新製品が新しいものから順に表示されるようにします。次のようなことを行うたびに、構文エラー メッセージが表示されます。
default_scope -> { order(created_at: desc) }, { where(active: true) }
また
default_scope -> { order(created_at: desc), where(active: true) }
また
default_scope -> { order(created_at: desc) where(active: true) }
これはおそらく、私が理解していない単なる構文であることを知っています。これを修正する方法について誰かが私にアドバイスをくれるなら、それは大歓迎です! ありがとう!