ActiveScaffold搜索连接表?

时间:2013-04-01 19:07:13

标签: ruby-on-rails activescaffold

我在ActiveScaffold工作中进行了一般的现场搜索。我不知道如何进行更复杂的搜索。

我有两个表,帐户和用户,我想搜索电子邮件并返回匹配帐户列表。电子邮件字段位于用户,帐户has_many:用户。

我无法思考查询应该如何发生。理想情况下,我想做这样的事情:

Account.where(email: 'search_term').all

User.where(email: 'search_term').includes(:account).all

1 个答案:

答案 0 :(得分:0)

如果要从一个表中搜索数据并从(包括)另一个表返回结果,只需将这些外来列添加为虚拟列:

用户控制器中的

active_scaffold :user do |conf|
conf.search.columns << :email
conf.list.columns << :account
#...
end

就是这样,没有疑问:)

如果帐户列结果显示的代码类似于&lt;#23423 ..这是因为Active Scaffold无法告诉如何描述该类记录,因此您可以告诉它您在模型中的需求:

class Account << ActiveRecord::Base
....
def to_label
 "cod: #{account_number}"
end