在Rails应用程序中将标记的行添加到我的Devise用户模型后,我无法再在Web表单中创建新用户或在控制台上使用User.create()。注释掉这一行可以恢复全部功能。显然它与上面的行非常密切相关,因此我可以将用户分配给经销商。有什么建议如何解决或做不同的事情,因为我需要这个功能?
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable, :registerable
has_many :tanks, dependent: :destroy
has_many :properties, dependent: :destroy
has_many :contacts, dependent: :destroy
has_many :stations
has_many :clients, :class_name => 'User', :foreign_key => :manager_id
belongs_to :dealer, :class_name => 'User' #<--- this one
end
答案 0 :(得分:0)
belongs_to :dealer, :class_name => "User",foreign_key: "dealer_id", optional: true
注意: - 请确保dealer_id
模型中的User
也应该{。}}
原因
@user.dealer if @user.dealer.present?
时,都需要默认显示相关记录。