Rails 4引入了枚举,随之而来的是免费的辅助方法。以前,我使用枚举作为用户角色,所以我有user.manager?
,user.employee?
等方法......但是,我决定使用STI作为用户角色。如何为类似于枚举的STI创建帮助方法?
答案 0 :(得分:2)
抱歉,枚举是错误的工具。你不会自动获得任何东西,但你的角色可能只是少数,所以这些几行应该与你的用户模型很好。
lorem
这会给你
class User
%w(Mananger Employee Customer).each do |klass|
define_method "#{klass.downcase}? do
self.class.name == klass
end
end
end