【发布时间】:2015-06-09 02:01:38
【问题描述】:
我的项目有 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
这可能吗?
如果是,我应该怎么做才能像这样自定义过滤器?
谢谢。
【问题讨论】:
-
您能否在您的用户模型上为
full name创建一个返回first_name + ' ' + last_name的方法? -
我试过了,但 WiceGird 似乎独立于 ActiveRecord 读取字段,所以它不起作用。谢谢。
-
你可以有一个由数据库触发器或回调更新的全名属性。
-
你能举个例子吗?谢谢。
标签: ruby-on-rails filter attributes wice-grid