在 ruby​​ on rails 中搜索多个模型

ros*_*nd 5 ruby ruby-on-rails

我仍然是 ruby​​ on rails 的初学者,我正在尝试为我正在开发的网站创建一个简单的搜索选项。

我有许多型号,例如杂货、咖喱和开胃菜。

如果我有一个模型,我的搜索工作正常,但如何搜索所有模型的标题或名称?

我为每个模型添加了以下方法并尝试在主页中显示结果。但没有运气!

def self.search(search)
where("LOWER(title) LIKE ?", "%#{search.downcase}%") 
#where("content LIKE ?", "%#{search}%")
end
Run Code Online (Sandbox Code Playgroud)

有人可以用一个例子帮我解决这个问题吗?

谢谢你。

Ste*_*zyn 5

你可以把 ActiveRecord_Relations 添加在一起,它会给你一个简单的数组

@results = Sundries.search(search_term) + Curry.search(search_term) + Starter.search(search_term)
Run Code Online (Sandbox Code Playgroud)

在视图...

<% @results.each do |result| %>
  <%= "#{result.title} part of our fine #{result.class.name} choices" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)


小智 5

为 2019 年以上关注此问题的任何人提供答案...风景是您想要使用的宝石(只要您的数据库是 postgres)。