我的数据库中有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
谢谢, 李
答案 0 :(得分:2)
你不必担心它。让Rails服务吧:
- @results.each do |result|
= link_to 'Show', result
您将根据结果的类型获得正确的链接。
还有一个。 URL中的show
与您的示例中的show
操作有何关系,例如:symptom/id/show
?默认情况下,show
操作会映射到GET /model/id
路径。