Я использую сервер Ruby On Rails 6.0.3.1 с базой данных SQLite3.
Одна из моих моделей называется Airport
и имеет несколько столбцов, например listable
, которое является логическим.
Я хочу позвонить Airport.listable
, чтобы получить все аэропорты, которые должны отображаться в списке.
// app/models/airport.rb
class Airport < ActiveRecord::Base
validates :icao, :latitude, :longitude, presence: true
validates :icao, uniqueness: true
has_many :departure_compagny_routes, class_name: 'CompagnyRoute', foreign_key: 'departure_id'
has_many :arrival_compagny_routes, class_name: 'CompagnyRoute', foreign_key: 'arrival_id'
scope :listable, -> { where(listable: true) }
def to_param
icao
end
def compagny_routes
departure_compagny_routes + arrival_compagny_routes
end
end
Когда я звоню Airport.listable
, я получаю пустой список. У меня такая же проблема при вызове Airport.where(listable: true)
.
Недавно я обновил свое приложение с Rails 4.2 до Rails 6, и до тех пор код работал отлично.
У меня такая же проблема с другие модели: Model.where(boolean_attribute: bool)
всегда пусто, но вызов Airport.where(iata: nil)
, где iata
- строка, работает отлично.
Как я могу избавиться от этого и заставить работать мой прицел?