我在ActiveScaffold工作中进行了一般的现场搜索。我不知道如何进行更复杂的搜索。
我有两个表,帐户和用户,我想搜索电子邮件并返回匹配帐户列表。电子邮件字段位于用户,帐户has_many:用户。
我无法思考查询应该如何发生。理想情况下,我想做这样的事情:
Account.where(email: 'search_term').all
或
User.where(email: 'search_term').includes(:account).all
答案 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