Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 在Spree中根据创建的_对产品列表进行排序_Ruby_Ruby On Rails 3_Spree - Fatal编程技术网

Ruby 在Spree中根据创建的_对产品列表进行排序

Ruby 在Spree中根据创建的_对产品列表进行排序,ruby,ruby-on-rails-3,spree,Ruby,Ruby On Rails 3,Spree,我正在使用spree,我想根据产品的创建的对产品列表进行排序 我试图找到覆盖lib/scopes/product.rb下spree默认范围的方法,但找不到它 我想在公共面板上列出最近创建的产品。如何使用spree实现这一点?第一个答案将破坏管理面板产品版,可能还会破坏spree 1.1-stable中的其他内容 不明确的列名:创建于 您可以通过以下方式指定表名来解决此问题: Product.class\u eval do 默认范围顺序(“spree\u products.created\u at

我正在使用spree,我想根据产品的
创建的
对产品列表进行排序

我试图找到覆盖lib/scopes/product.rb下spree默认范围的方法,但找不到它


我想在公共面板上列出最近创建的产品。如何使用spree实现这一点?

第一个答案将破坏管理面板产品版,可能还会破坏spree 1.1-stable中的其他内容

不明确的列名:创建于

您可以通过以下方式指定表名来解决此问题:

Product.class\u eval do
默认范围顺序(“spree\u products.created\u at DESC”)
结束
但我认为最好的解决方案是修补公共产品控制器或视图,而不是修补模型本身,因为默认的\u范围可能并不适用于所有地方,并切换/删除在您必须调用的默认\u范围中定义的订单。reorder()

可能正因为如此,SpreeCommerce文档特别不建议您在产品范围中添加订单:

资料来源:

因此,我认为在不破坏Spree核心产品模型的情况下,正确的做法是覆盖产品模板:

覆盖视图/spree/shared/_products.html.rb

替换



资料来源:


为我工作™

第一个答案将破坏管理面板产品版,可能还会破坏spree 1.1-stable中的其他内容

不明确的列名:创建于

您可以通过以下方式指定表名来解决此问题:

Product.class\u eval do
默认范围顺序(“spree\u products.created\u at DESC”)
结束
但我认为最好的解决方案是修补公共产品控制器或视图,而不是修补模型本身,因为默认的\u范围可能并不适用于所有地方,并切换/删除在您必须调用的默认\u范围中定义的订单。reorder()

可能正因为如此,SpreeCommerce文档特别不建议您在产品范围中添加订单:

资料来源:

因此,我认为在不破坏Spree核心产品模型的情况下,正确的做法是覆盖产品模板:

覆盖视图/spree/shared/_products.html.rb

替换



资料来源:


为我工作™

使用deface override可以更精确地处理这一问题,而不是覆盖整个视图,但是这个答案似乎比标记为accepted的答案更准确。使用deface override可以更精确地处理这一问题,而不是覆盖整个视图,但这个答案似乎比标记为“已接受”的答案更为明智。
 <% products.descend_by_updated_at.each do |product| %>