我在 ActiveScaffold 工作中进行了一般字段搜索。我不确定如何进行更复杂的搜索。
我有两个表,帐户和用户,我想搜索电子邮件并返回匹配帐户的列表。email 字段在 User 中,Account has_many :users。
我无法思考查询应该如何发生。理想情况下,我想做这样的事情:
Account.where(email: 'search_term').all
或者
User.where(email: 'search_term').includes(:account).all
我在 ActiveScaffold 工作中进行了一般字段搜索。我不确定如何进行更复杂的搜索。
我有两个表,帐户和用户,我想搜索电子邮件并返回匹配帐户的列表。email 字段在 User 中,Account has_many :users。
我无法思考查询应该如何发生。理想情况下,我想做这样的事情:
Account.where(email: 'search_term').all
或者
User.where(email: 'search_term').includes(:account).all
如果要从一个表中搜索数据并从(包括)另一个表中返回结果,只需将这些外部列添加为虚拟列:
在用户控制器中:
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