我有一个使用单表继承的用户模型和3个子类。所有者,客户和管理员。 (类型列已添加到用户表中)。
#user.rb
class User < ApplicationRecord
devise :database_authenticatable,:registerable,
:jwt_authenticatable,
jwt_revocation_strategy: JWTBlacklist
end
#client.rb
class Client < User
end
#admin.rb
class Admin < User
end
#owner.rb
class Owner < User
has_many :clubs
end
#club.rb
class Club < ApplicationRecord
belongs_to :owner
has_one :address
has_many :courts
end
所有者模型与俱乐部模型具有has_many关系。当我以所有者身份登录我的应用程序,然后尝试添加新俱乐部时。使用
@club= current_user.clubs.create!(club_params)
我收到以下错误。
ActiveRecord :: StatementInvalid(SQLite3 :: SQLException:没有这样的表:main.owners:INSERT INTO“ clubs”(“ owner_id”,“ created_at”,“ updated_at”)值(?,?,?)):< / p>
是否可以通过某种方式搜索用户表?
答案 0 :(得分:0)
在Rails STI and has_many through association not working, SQLException: no such table
找到答案我不得不使用
spring stop
并使用
重置数据库rails db:reset