Я новичок в Rails и нахожу его крайне непрозрачным. У меня есть копия последней Agile Web Development с Rails , но меня беспокоит то, что без этой книги я бы полностью потерялся.
Например, следуя примеру депо в книге, когда вы добавляете проверку в модель, вы делаете
class Product < ActiveRecord::Base
validates :title, :description, :image_url, :presence => true
end
Кажется, достаточно просто, за исключением того, что без книги AWDwR я бы никогда не понял этого. В документации ActiveRecord :: Base нет ничего, что упоминало бы метод validates.
Мне кажется, что с Rails вы просто должны загадочно знать , какие методы доступны в любой заданной точке проекта. Но если вы не знаете, как вы должны это выяснить (кроме запоминания 500-страничной книги)?
Я могу сформулировать вопрос по-другому: в моем классе Product у меня есть метод с именем validates. Как этот метод доступен для моего класса продуктов? Даже зная, что он определен в ActiveModel :: Validations :: ClassMethods (я знаю это, потому что посмотрел его), я не могу понять, как это стало доступно для моего класса Product.