Я новичок в Ruby (менее 6 месяцев опыта) и пытаюсь проверить, запускается ли метод из файла model.rb
.Я думал, что это всегда будет работать каждый раз, когда я создаю новую модель, но, видимо, нет.По крайней мере, он не запущен.
Я даже положил binding.pry
, чтобы остановить работу, но это не остановило создание модели, то есть метод trails_available
не был вызван, верно?
def trails_available= value
binding.pry
self.db_trails_available = value
end
def trails_available
binding.pry
if self.db_trails_available
unless self.db_trails_available.empty?
self.db_trails_available
else
trails_available = Trail.available(0,self.id).pluck(:id)
self.update_attribute(:db_trails_available, trails_available)
trails_available
end
end
end
Имя файла модели company_profile.rb
, и когда я создал новый профиль компании, переменная db_trails_available
вернула пустой массив "[]".см. ниже:
<CompanyProfile:0x0000001161e908
id: 232,
company_id: 13,
access_type: "test_7",
blocked_trails_ids: [nil, 68],
deleted_at: nil,
created_at: Wed, 25 Sep 2019 12:40:42 -03 -03:00,
updated_at: Wed, 25 Sep 2019 12:40:42 -03 -03:00,
blocked_components_ids: [nil, 170],
blocked_materials_ids: [nil, 723],
school_id: 13,
available_minutes: nil,
blocked_academies_ids: [nil, 1],
db_trails_available: [],
db_components_available: [],
db_materials_available: [],
top_components: [],
optional_materials_ids: [nil, 723],
optional_components_ids: [nil, 170],
optional_trails_ids: [nil, 68],
skip: true>
Что я делаю не так, чтобы проверить, когда trails_available
работает?