Ruby on rails BrandsController中的Rails 2 NoMethodError#显示未定义的方法'order';对于#<;阵列:0x7065083ffd08>;

Ruby on rails BrandsController中的Rails 2 NoMethodError#显示未定义的方法'order';对于#<;阵列:0x7065083ffd08>;,ruby-on-rails,Ruby On Rails,我的本地和生产服务器出现了一个奇怪的错误 @search = Product.find(:all, :conditions => {:brand_id => @brand.id, :category_id => @category.id}) @search.order ||= :descend_by_price @products = @search.all(params[:order] || :descend_by_price).pagina

我的本地和生产服务器出现了一个奇怪的错误

 @search = Product.find(:all, :conditions => {:brand_id => @brand.id, :category_id => @category.id})
        @search.order ||= :descend_by_price
        @products = @search.all(params[:order] || :descend_by_price).paginate(:page => params[:page])
我在本地和生产服务器上运行rails 2.3.11和Ruby 1.8.7。任何帮助都将不胜感激


感谢
@search
产品
对象的
数组。您正在对一个数组调用
order
方法,您得到的错误是,对于
数组
,找不到方法
order
(可能order方法只对一个
产品
存在,但对
产品
数组不存在)。

Alok,感谢您的回复,我想你是对的。我修改了以适应这一点,错误转移到了我身上。我将其移动到使用Products对象:。查看:,还有其他想法或建议吗?从要点上看,似乎您正在尝试订购所有产品,然后执行查找。(我认为order是一个类方法,它根据特定标准订购所有产品)。为什么不换一种方式,执行find并添加一个条件以按特定顺序返回结果。