我需要创建一个可以这样调用的方法
list_of_hash_values = MyModel.values_and_links :title, "some_query_param", lambda{|id| url_for :controller => :my_model, :action => :show, :id=> id }
它有 3 个参数:字段名称(作为符号)、查询参数和带有一个参数的 lambda。它返回值的哈希值及其 url。Lambda 返回一些字符串值(在这种情况下,它是模型实例的 ulr)。
我试着做:
class MyModel
def values_and_links(title, query_param, lambda_exp)
instance_values = MyModel.order(:title).where("#{title} = ?", "%#{query_param}%")
instance_values.each do |item|
{:hash_key1 => item.send(title), :hash_key2 => lambda_exp.call(title)}
end
end
end
这是错误的,不起作用。
我希望你明白我需要完成什么。我该怎么做?我怎样才能实现方法values_and_links
?