如何在filter datagrid中调用方法

时间:2016-08-24 10:32:19

标签: ruby-on-rails-4 datagrid

问题是我无法调用方法在过滤器中使用。

在sameple_grid.rb

我有一个示例方法,可以在连接后查询所有记录

def method_sameple(field, operation, value)
  ids = Model2.joins(:model2_model3s).where("score#{operation} ? AND model3_id= ?", value, field).ids
  Model1.joins(:model2s).where(model2: { id: ids})
end

然后我有一个调用method_sample

的过滤器
filter(:name, :dynamic, select: [[name, id]], header: -> { 'Name' }) do |(field, operation, value), scope|
   #mehtod need to call in here!
end

1 个答案:

答案 0 :(得分:0)

filter(:name, :dynamic, select: [[name, id]], header: -> { 'Name' }) do |(field, operation, value), scope|
   #mehtod need to call in here!
   method_return = self.method_sameple(your, params, of_method)
end

这是在模型实例上调用方法的标准方法(在另一个方法中调用方法)。

但是没有足够的信息来了解您使用过滤器的方式。需要更多的背景来理解你的问题。