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并添加一个条件以按特定顺序返回结果。