- Ruby версия 2.4.4
- Rails версия 5.1.4
- Разработка версии 4.4.3
У меня возникла странная проблема вмое заявление.Короче говоря, всякий раз, когда я загружаю запись пользователя, она автоматически связывается с записью местоположения.
Модель пользователя:
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_one :location, as: :owner
end
Модель местоположения:
class Location < ApplicationRecord
belongs_to :owner, polymorphic: true, required: false
end
Вrails console, если я ввожу просто User.last
, я вижу два запроса:
User Load (1.5ms) SELECT "users".* FROM "users" WHERE "users"."deleted_at" IS NULL ORDER BY "users"."id" DESC LIMIT $1 [["LIMIT", 1]]
Сразу же следует
Location Load (6.8ms) SELECT "locations".* FROM "locations" WHERE "locations"."owner_id" = $1 AND "locations"."owner_type" = $2 LIMIT $3 [["owner_id", 9], ["owner_type", "User"], ["LIMIT", 1]]
Если я закомментирую строку devise
, это больше не происходит,Любое объяснение того, что может вызвать это?Ни для одной модели не определена область по умолчанию.