0

我在 ActiveScaffold 工作中进行了一般字段搜索。我不确定如何进行更复杂的搜索。

我有两个表,帐户和用户,我想搜索电子邮件并返回匹配帐户的列表。email 字段在 User 中,Account has_many :users。

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

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

或者

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

4

1 回答 1

0

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

在用户控制器中:

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

就是这样,没有查询:)

如果帐户列结果出现像 <#23423.. 这样的代码,这是因为 Active Scaffold 无法告诉如何描述该类记录,所以你告诉它你在模型中想要的方式:

class Account << ActiveRecord::Base
....
def to_label
 "cod: #{account_number}"
end 
于 2013-04-23T20:09:46.170 回答