我如何创建动态的find_by方法?

时间:2013-06-29 22:21:08

标签: ruby-on-rails ruby-on-rails-3 metaprogramming

我尝试在rails 3应用程序中创建一个动态的find_by方法。我想做的是:

My_dynamic_find(Model, {attribute_hash})

该方法在用户模型上的工作方式如下:

My_dynamic_find(User, {:name => "Bill", :gender => "male", :weight => 200)

然后该方法将执行以下操作:

User.find_by_name_and_gender_and_weight("Bill","male",200)

这是否可行,这是元编程的一个例子。

1 个答案:

答案 0 :(得分:2)

只需使用:

User.where( :name => 'Bill', :gender => 'male', :weight => 200 )

这不是元编程。元编程是指程序动态创建程序的其他部分。 :)