Я работаю с Sinatra, и моя цель - заставить пользователя моего приложения указать возраст своих клиентов в форме «создать клиента» и принять их в качестве клиентов, если age >= 21
. @dob
является переменной экземпляра объекта customer
и представляет собой date
.
Моя попытка на контроллере:
post '/customer' do
@customer = Customer.new( params )
if @dob.nil?
return "No date of Birth"
else
age = Date.today.year - @dob.year
if age >= 21
@customer.save
erb( :"guests/create" )
else
erb( :"guests/not_created" )
end
end
end
Форма в файле new.erb
:
<div class="form-el">
<label for="dob">DOB:</label>
<input type="date" name="dob" id="dob"/>
</div>
Ошибка здесь #<NoMethodError: undefined method 'year' for nil:NilClass>
, но при изменении метода year
возникают другие ошибки. Большое спасибо за вашу помощь