【发布时间】:2016-07-16 10:22:50
【问题描述】:
通过使用 railscast 视频,我创建了一个适用于同一模型的简单搜索。但现在我有一个模型也显示了相关的模型数据,我也想搜索它们。
现在我设法让它半工作,但我认为如果我将字段“name”添加到连接中我会发生冲突,因为我有两个模型有一个名为“name”的列
def self.search(search)
if search
key = "'%#{search}%'"
columns = %w{ city station venue area country plate_number }
joins(:services).joins(:washer).joins(:location).where(columns.map {|c| "#{c} ILIKE #{key}" }.join(' OR '))
else
where(nil)
end
end
我需要更改哪些内容才能确保可以搜索所有列?
【问题讨论】:
-
我认为当您在加入后有不明确的字段名称时,您可以提及 table_name.field_name 以便消除歧义并起作用。你怎么看?
标签: ruby-on-rails ruby-on-rails-4 activerecord ruby-on-rails-5