0

我的数据库中有 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

谢谢,李

4

1 回答 1

2

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

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

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

还有一个。showin URL 与您的示例中的show 操作有什么关系,例如:symptom/id/show?该show操作默认映射到GET /model/id路径。

于 2012-06-04T13:42:10.170 回答