У меня есть два класса; клиента и бронирования. И мой проект состоит только из рубинового кода, а не для рельсов.ruby - пользовательская проверка не называется
Класс бронирования читает объемный файл json по строке, который включает хэш клиента.
Из этого хеша я создаю объект клиента.
Вот код в пределах класса бронирования.
def parse_json
File.open(@filename, "r").each do |line|
@customers << Customer.new(JSON.parse(line))
end
return @customers
end
И у customer.rb У меня есть следующее:
validates_presence_of :hash
validate :hash_should_include_all_fields
attr_reader :name, :userid, :latitude, :longitude, :distance
def hash_should_include_all_fields
puts "I'm here #{hash}"
if hash.assert_valid_keys('user_id', 'name', 'latitude', 'longitude')
puts "Valid"
else
puts "Not valid"
end
end
Однако, как я создаю объекты клиента, hash_should_include_all_fields
метод не вызывается.
Что мне не хватает здесь, это было бы здорово, если бы вы могли помочь.
Благодаря
спасают вас модель? Или проверить правильность? Модели не проверяются, только когда вы их создаете. –