将字符串对象转换为活动记录类

Ant*_*nik 8 ruby activerecord ruby-on-rails-3

所以我感兴趣的是有没有办法将字符串转换为活动记录类.

示例:我有一个User继承自的类ActiveRecord::Base.有没有什么办法可以字符串转换"User"User类,所以我可以使用ActiveRecord的方法,如find,where等.

Ste*_*fan 11

String#constantize使用字符串的名称返回常量的值.对于"User"这是你的User类:

"User".constantize
# => User(id: integer, ...)
Run Code Online (Sandbox Code Playgroud)

您可以将其分配给变量并调用ActiveRecord方法:

model = "User".constantize
model.all
# => [#<User id:1>, #<User id:2>, ...]
Run Code Online (Sandbox Code Playgroud)