我有一组从数据库查询的ActiveRecord模型。我想在上执行从ActiveRecord返回的Relation对象的轮胎搜索,例如:
class Model_1
has_many :model_2
end
class Model_2
attr_accessible :attr_1, :attr_2, :attr_3
belongs_to :model_1
end
class Model2Controller
def index
@model_2s = @model_1.model_2s
# How can I query single or multiple fields here?
@model_2s.search :query => { :attr_1 => params[:q] }
end
end
我想使用单个或多个字段查询ActiveRecord:Relation。我想要查询的哪些字段(:attr_1
或:attr_2
或:attr_3
)是动态的,因此如果我可以向查询方法发送Hash
,那就太好了。
这样的事情可能吗?
答案 0 :(得分:0)
不是100%肯定你在问什么,但如果它是“我想找到有参数x,y和z的model_2s等于特定的东西”,那么你可以使用Ruby Array #Select
model_2s_you_care_about = @model_2s.select{ |e| e.attr_foo == "something" && e.attr_bar == "whatever" && e.attr_baz == "the last thing" }
如果这不是您的要求,请稍微改写您的问题。