0

undefined method whereこれらのパラメーターを使用して以下のコードを実行すると、エラーが発生し続けます。

誰かが私が間違っていることを見ることができますか?

ありがとう

 Parameters: {"category_ids"=>["1", "3", "4"]}

    @pieces = Piece.all
    @pieces = @pieces.where(:category_id => params[:category_ids]) if params[:category_ids].present?
    @pieces = @pieces.where(:brand_id => params[:brand_ids]) if params[:brand_ids].present?
    @pieces = @pieces.where(:color_id => params[:color_ids]) if params[:color_ids].present?
    @pieces = @pieces.where(:user_id => params[:friend_ids]) if params[:friend_ids].present?
4

2 に答える 2

1

User.allArrayその上でuser objects使用するとエラーが発生しますwhereNoMethodError: undefined method `where' for Array

したがって、代わりに以下を使用してください

@pieces = Piece.where(:category_id => params[:category_ids])
于 2012-09-21T06:19:16.417 に答える
0

そのはず:

Piece.where(:category_id => params[:category_ids]) if params[:category_ids].present?

于 2012-09-21T06:09:49.770 に答える