Ruby 在Spree中根据创建的_对产品列表进行排序
我正在使用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
创建的对产品列表进行排序
我试图找到覆盖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| %>