rails变量名称的引用模型

yee*_*379 4 model ruby-on-rails variable-assignment

我有一些代码使用字符串动态确定要使用的模型类和find_by()的字段.但是,我很难用这些变量来获取模型实例.具体来说,我有

class Item
  include MongoMapper::Document
  key :my_variable, String
Run Code Online (Sandbox Code Playgroud)

在我的代码中我有

m = "Item"
f = "my_variable"
Run Code Online (Sandbox Code Playgroud)

我希望能够

i = m.find_by_my_variable( f )
result = i[f]
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

Mic*_*ael 6

由于您在Rails中(根据类别标记判断),您可以使用:

m = m.constantize
Run Code Online (Sandbox Code Playgroud)

使字符串成为常量,然后这样的东西适用于您的查询?

m.where("#{f} = ?", some_value)
Run Code Online (Sandbox Code Playgroud)

(编辑)或使用send as ismaelga建议,如果你不想要一个ActiveRecord :: Relation数组对象