Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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 on rails 检查日期是否介于其他两个日期之间_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 检查日期是否介于其他两个日期之间

Ruby on rails 检查日期是否介于其他两个日期之间,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我有一个名为“Tenant”的模型,它有两个日期属性Tenant\u from和Tenant\u until 我想写一个方法来检查Date.today是否在我上面提到的两个日期之间。我想做以下几点: IF Date.today IS BETWEEN tenant.tenant_from AND tenant.tenant_until DO ... ELSE ... 试一试 只是为了另一个解决方案。您可以使用日期范围和封面?来实现相同的效果 (tenant.tenant_f

我有一个名为“Tenant”的模型,它有两个日期属性
Tenant\u from
Tenant\u until

我想写一个方法来检查
Date.today
是否在我上面提到的两个日期之间。我想做以下几点:

IF Date.today IS BETWEEN tenant.tenant_from AND tenant.tenant_until DO
  ...
ELSE
  ...       
试一试


只是为了另一个解决方案。您可以使用日期范围和
封面?
来实现相同的效果

(tenant.tenant_from .. tenant.tenant_until).cover?(Date.today)
类租户

现在,您在模型的实例(它所属的位置)上有了模型逻辑。你的逻辑是
如果@tenant.current?

完美的家伙,那正是我要找的代码。非常感谢!为了便于阅读,我建议将
包装在空格中。空白有助于我们的眼睛辨别字符串、代码等的各个部分,从而提高可维护性。Mallanaga有一个很好的观点!在模型中隐藏这样的“业务逻辑”。这似乎是一件小事,但随着时间的推移,它确实可以帮助您的视图和控制器保持可读性、精简性和无混乱!
(tenant.tenant_from .. tenant.tenant_until).cover?(Date.today)
Class Tenant < ActiveRecord::Base
  def current? #name this what you want, but keep the question mark, since it returns a boolean
    (tenant.tenant_from.to_date .. tenant.tenant_until.to_date).include?(Date.today)
  end
end