0

我正在开发一个 Rails 应用程序,该应用程序允许用户在完成任务时检查它们,并且我正在研究一种将返回过期任务和即将执行的任务的方法。

这是我在用户模型中的方法:

  def task_notification(notification_type = "past")
    return false if tasks.empty?

    current_month = Time.now.month
    tasks.where(classification: classification).select { |task| task.due_date < current_month }
  end

我基本上是在尝试做这样的事情:

operator = notification_type.eql?("past") ? "<" : ">"
tasks.where(classification: classification).select { |task| task.due_date operator current_month }

显然以上不起作用,我只是想知道如何使它起作用。

4

1 回答 1

3

使用对象#send

task.due_date.send(operator, current_month)
于 2013-09-18T20:49:01.973 回答