关闭邮件的Rake任务没有返回正确的结果

时间:2017-09-13 21:13:12

标签: sql ruby-on-rails actionmailer rake-task

当公寓的单位数超过10个字符并且公寓的状态可用时,它应该触发邮件。邮件发射很好,但它返回所有列表而不是我需要的列表。任何帮助表示赞赏。

too_long.rake

namespace :listings do
  desc 'Notifies an agent when the unit is too long'
  task notify_agent_unit: :environment do
    Listing.all.each do |listing|
      if Listing.where("length(apartment) > 10") && Listing.where(status: 'Available')
        TooLongMailer.unit_too_long(listing, listing.listing_agent).deliver_now
      end
    end
  end
end

1 个答案:

答案 0 :(得分:0)

我无法解决这个问题,所以我在模型中添加了一个完美无缺的范围。

scope :unit_length_available, -> { where("length(apartment) > 10 AND (status ILIKE '%available%')") }