Я выполняю before_validation следующим образом:
event.rb
attr_accessor :start_date
attr_accessible :start_time #recorded in database as a datetime
before_validation :build_start_time
...
def build_start_time
begin
self.start_time = DateTime.parse(start_date)
rescue
errors.add(:start_date, "invalid date")
return false
end
end
и контроллер выглядит так:
def create
@event = events.build(params[:event])
if @event.save
# some other method calls
redirect_to @event
else
redirect_to :root
end
end
start_date устанавливается<% = f.text_field: start_date%> вызывается в представлении формы, и когда я проверяю параметры, они правильно передаются методу «Create» контроллера модели, но в методе build_start_time он равен nil, поэтому self.start_time не устанавливаетсяМожете ли вы объяснить, почему это будет ноль и какое решение будет?Я также попытался назвать его self.start_date, но это не имело значения.
Спасибо