Rails - Как установить дату истечения срока действия на ваучерных рельсах - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть модель ваучера с истекшей датой внутри ..

Вот коды:

rails generate model Voucher

rails generate add_expired_date_to_vouchers expired_date:datetime
In voucher index:

<% if voucher.expired_date == Date.today %>
  <p>Your Voucher has Expired</p>
<% else %>
  <%= voucher.expired_date %>
<% end %>

Проблема в том, что, когда срок действия ваучера истек сегодня,он все еще показывает дату истечения срока действия, а не "Ваш ваучер истек" ..

Пожалуйста, помогите мне решить эту проблему ..

Спасибо

Ответы [ 2 ]

0 голосов
/ 23 сентября 2018

Оператор условия, который вы используете, неверен!

<% if voucher.expired_date >= Date.today %> #if today is a valid day only use >
  <p>Your Voucher has Expired</p>
<% else %>
  <%= voucher.expired_date %>
<% end %>
0 голосов
/ 23 сентября 2018

Вы сравниваете DateTime объект с Date, который не будет работать.Вероятно, вы должны преобразовать DateTime в Date.

Пример:

2.3.7 :006 > a = DateTime.now.to_date
 => Sun, 23 Sep 2018 
2.3.7 :007 > b = Date.today
 => Sun, 23 Sep 2018 
2.3.7 :008 > a == b
 => true 

Таким образом, приведенный ниже код должен работать

<% if voucher.expired_date.to_date == Date.today %>
  <p>Your Voucher has Expired</p>
<% else %>
  <%= voucher.expired_date %>
<% end %>

Или

Вы должны сравнить DateTime с DateTime.

<% if voucher.expired_date == DateTime.now %>
  <p>Your Voucher has Expired</p>
<% else %>
  <%= voucher.expired_date %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...