是否有类似于ENUM的STI的辅助方法



导轨4引入枚举,并带来免费的助手方法。以前,我使用枚举担任用户角色,因此我有诸如user.manager?user.employee?等的方法...但是,我决定将STI使用用于用户角色。如何为STI类似的STI创建帮助方法?

对不起,但是枚举是错误的工具。您不会自动获得任何东西,但是您的角色可能只是几个,所以这几行应该适合您的用户模型。

class User %w(Mananger Employee Customer).each do |klass| define_method "#{klass.downcase}? do self.class.name == klass end end end

将为您提供user.manager?

最新更新