在同一列

时间:2015-06-09 02:01:39

标签: ruby-on-rails filter attributes wice-grid

我的项目有2列表用户,“first_name”“和”last_name“,我想在1列中显示它们,并用1个字段来过滤它(全名)。 我有类似的东西:

g.column name: 'First Name', attribute: 'first_name' do |user|
    user.first_name
end

g.column name: 'Last Name', attribute: 'last_name' do |user|
    user.last_name
end 

我想做那样的事情:

g.column name: 'Full Name', filter: proc{ |q| where("first_name LIKE :query OR last_name LIKE :query", query: "%#{q}%") } do |user|
    user.first_name + ' ' + user.first_name
end

这可能吗?

如果是,我该怎么做才能自定义这样的过滤器?

谢谢。

2 个答案:

答案 0 :(得分:0)

我认为现在还不可能。

WiceGrid的创建者说:

  

遗憾的是,这是不可能的,但有一个简单的解决方法,我实施了多次:我创建了一个更多的列名称,并在before_save中填充

点击此处的所有评论:

https://github.com/leikind/wice_grid/issues/225

答案 1 :(得分:0)

g.column name: 'links' do |product|
  buffer = link_to "Show", show_product_path
  buffer += ' '
  buffer = link_to "Edit", edit_product_path
  raw buffer
end