ruby on rails实现了通用搜索

时间:2012-06-04 13:33:50

标签: ruby-on-rails search

我的数据库中有2个表 - 一个“疾病”表和一个“症状”表。 我已经实现了搜索两个表的通用搜索。 我的目标是在结果页面中显示结果,每个结果应该是一个超链接,导致结果“显示”页面(疾病/ id / show或症状/ id / show)。

由于我将通用结果传递给结果页面,我真的不知道当前结果是疾病还是症状。我想知道获取此信息的最佳方式是什么(我应该尝试在控制器中收集此信息并以某种方式将其传递给html?我应该以某种方式从html运行另一个查询吗?)

我正在使用rails 3.x,我的控制器代码如下所示:

class SearchController < ApplicationController
    def index
        @results = Illness.search(params[:search]) + Symptom.search(params[:search])

        respond_to do |format|
            format.html # index.html.erb
            format.json { render json: @results }
        end
    end
end

谢谢, 李

1 个答案:

答案 0 :(得分:2)

你不必担心它。让Rails服务吧:

   - @results.each do |result|
     = link_to 'Show', result

您将根据结果的类型获得正确的链接。

还有一个。 URL中的show与您的示例中的show 操作有何关系,例如:symptom/id/show?默认情况下,show操作会映射到GET /model/id路径。