在rails中链接范围方法

时间:2014-06-04 16:11:52

标签: ruby-on-rails ruby scope

上传新照片时遇到问题。

我有一个名为:most_tagged的作用域,显然效果很好。 照片由most_tagged DESC显示,但是,当我上传一张包含0个标签的新照片时,它会转到顶部(显示最多标记的照片之前),而不是转到底部并显示标记较少的照片之后的最后一个照片。 / p>

我应该将另一个方法链接到most_tagged范围吗?

class Photo < ActiveRecord::Base
  has_many :tags , dependent: :destroy
  before_destroy { |record| record.tags.destroy_all if record.tags.any? }

  scope :most_tagged, -> { order('tags_count DESC') }
  scope :most_liked, -> { order('cached_votes_up DESC') }

由于

1 个答案:

答案 0 :(得分:2)

您必须使用NULLS LAST选项:

scope :most_tagged, -> { order('tags_count DESC NULLS LAST') }