Ruby on rails USER.RB文件不工作-用户无法登录,管理员可以
} 已编辑:添加租户.rbRuby on rails USER.RB文件不工作-用户无法登录,管理员可以,ruby-on-rails,Ruby On Rails,} 已编辑:添加租户.rb 我还在学习RubyonRails。我刚刚接手这个应用程序,用户配置文件出现问题,用户无法登录 您正在代码中使用多租户。所以,似乎在管理员的情况下,租户在登录后设置正确,而在简单使用的情况下,租户设置不正确 查看正在设置当前范围的租户模块。是否有任何错误?提供更多详细信息或日志,以便我们提供帮助 class User < ActiveRecord::Base include Tenancy has_secure_password validates
我还在学习RubyonRails。我刚刚接手这个应用程序,用户配置文件出现问题,用户无法登录 您正在代码中使用多租户。所以,似乎在管理员的情况下,租户在登录后设置正确,而在简单使用的情况下,租户设置不正确
查看正在设置当前范围的租户模块。是否有任何错误?提供更多详细信息或日志,以便我们提供帮助
class User < ActiveRecord::Base
include Tenancy
has_secure_password
validates :username, presence: true, uniqueness: { case_sensitive: false }
validates :full_name, presence: true, uniqueness: { case_sensitive: false }
scope :chemists, -> { where(chemist: true) }
scope :operators, -> { where(operator: true) }
scope :inspectors, -> { where(inspector: true) }
enum role_level: [ :user, :admin ]
def self.names
pluck(:full_name)
end
end
class Tenant
PROPERTIES = {
'pi' => { name: "PI",
time_zone: "Central Time (US & Canada)",
area_divisor: 144.0,
small_area_cutoff: 2304,
yield_multiplier: 1 },
'pe' => { name: "PE",
time_zone: "Beijing",
area_divisor: 1000000.0,
small_area_cutoff: 1500000.0,
yield_multiplier: 10.76 }
attr_reader :code, :name, :time_zone, :area_divisor, :small_area_cutoff, :yield_multiplier
def initialize(code)
@code = code
@name = PROPERTIES[code][:name]
@time_zone = PROPERTIES[code][:time_zone]
@area_divisor = PROPERTIES[code][:area_divisor]
@small_area_cutoff = PROPERTIES[code][:small_area_cutoff]
@yield_multiplier = PROPERTIES[code][:yield_multiplier]
end
def self.asset_classes
[User, FilmMovement, SalesOrder, MasterFilm, Film, Machine]
end
asset_classes.each do |klass|
name = klass.name.pluralize.underscore.downcase.to_sym
define_method(name) do
klass.tenant(code)
end
end
asset_classes.each do |klass|
name = "new_#{klass.name.underscore.downcase}".to_sym
define_method(name) do |*args|
klass.new(*args).tap do |o|
o.tenant_code = code
end
end
end
end