0

DB には、「病気」テーブルと「症状」テーブルの 2 つのテーブルがあります。両方のテーブルを検索するための汎用検索を実装しました。私の目標は、結果ページに結果を表示することです。各結果は、結果の「表示」ページ (病気/ID/表示または症状/ID/表示) につながるハイパーリンクである必要があります。

一般的な結果を結果ページに渡しているので、現在の結果が病気なのか症状なのかよくわかりません。この情報を取得する最良の方法は何だろうか (コントローラーでこの情報を収集し、どうにかしてそれを 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

そして、結果のタイプに基づいて適切なリンクを取得します。

そしてもう1つ。次のような例のアクションshowとURLの関係は何ですか?アクションはデフォルトでパスにマップされます。show symptom/id/showshowGET /model/id

于 2012-06-04T13:42:10.170 に答える