在haml中查找两个日期之间的范围
finding range between two dates in haml
我在 haml 方面没有经验,目前正在努力学习。下面是我的 haml 代码。当日期范围等于或超过 4 天时,我试图显示一个按钮。基本上要求是在距离结束日期只有 4 天时隐藏按钮..
- range = booking.start_on..booking.end_on
- if range >= 4
= link_to "#",
class: 'btn-flat btn-flat-split',
title: "Extend Booking",
data: { method: request.primary_action.method } do
= "Extend Booking"
%i.icon-chevron-right
我遇到了这个错误:
NoMethodError at /ideas/50114
undefined method `>=' for "06 Feb 2020".."20 Feb 2020":Range
我不能 100% 确定范围是否得到正确的输出或正确声明..?
你有一个日期范围,这是一个未实现 >=
方法的 Range 对象。
你需要的是获取每个日期对象之间相差的天数,为此使用 to_date
:
p (booking.end_on.to_date - booking.start_on.to_date).to_i # 14
所以,对于你的情况:
- if (booking.end_on.to_date - booking.start_on.to_date).to_i >= 4
...
这是一个 Ruby 错误,不是 Haml。
我在 haml 方面没有经验,目前正在努力学习。下面是我的 haml 代码。当日期范围等于或超过 4 天时,我试图显示一个按钮。基本上要求是在距离结束日期只有 4 天时隐藏按钮..
- range = booking.start_on..booking.end_on
- if range >= 4
= link_to "#",
class: 'btn-flat btn-flat-split',
title: "Extend Booking",
data: { method: request.primary_action.method } do
= "Extend Booking"
%i.icon-chevron-right
我遇到了这个错误:
NoMethodError at /ideas/50114
undefined method `>=' for "06 Feb 2020".."20 Feb 2020":Range
我不能 100% 确定范围是否得到正确的输出或正确声明..?
你有一个日期范围,这是一个未实现 >=
方法的 Range 对象。
你需要的是获取每个日期对象之间相差的天数,为此使用 to_date
:
p (booking.end_on.to_date - booking.start_on.to_date).to_i # 14
所以,对于你的情况:
- if (booking.end_on.to_date - booking.start_on.to_date).to_i >= 4
...
这是一个 Ruby 错误,不是 Haml。