验证“事件”的日期'使用activerecord在rails上的ruby上

时间:2014-12-22 07:57:26

标签: ruby-on-rails ruby ruby-on-rails-4 activerecord

如何验证日期,以便我只能show/create在当前或将来发生的事件,而不是过去?我正在使用activerecord,此代码将位于事件的show.html.erb文件夹或控制器

1 个答案:

答案 0 :(得分:0)

用于创建/更新使用此{/ 3}}

validates :date,
          date: { after: Proc.new { Date.today } } #, on: :create # if you want only to validate on creation

对于show,你可以像这样在控制器中使用before_action

def EventController < ApplicationController
  before_action :set_event
  before_action :check_date

  ...

  private

  def check_date
    redirect_to :back, notice: 'This event has ended' if @event.date < Date.today
  end
end