Moh*_*out 2 ruby metaprogramming ruby-on-rails
我有多种类型的用户模型(admin,normal,..).我创建循环来定义类似admin?或normal?如下的方法:
class User
TYPES = %w(admin normal)
User::TYPES.each do |roleVal|
define_method(roleVal.to_sym) { self.role == roleVal }
end
end
Run Code Online (Sandbox Code Playgroud)
上面的代码正在工作User.first.admin,但我需要将其称为User.first.admin?.
带问号的define_method的语法是什么?如果不可能使用define_method,如何在元编程中创建带问号的方法?