我已經實現了一個簡單的搜索表單(根據「簡單表單」屏幕截圖),用於搜索我的數據庫中的「疾病」表。 現在我想要相同的搜索框來搜索「疾病」表和「症狀」表。ruby on rails實現搜索多個關係的搜索表單
我的代碼目前看起來是這樣的:
main_page \ index.html.erb:
<b>Illnesses</b>
<%= form_tag illnesses_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %><br/>
<%= submit_tag "Illnesses", :name => nil %><br/>
</p>
illnesses_controller.rb:
class IllnessesController < ApplicationController
def index
@illnesses = Illness.search(params[:search])
respond_to do |format|
format.html # index.html.erb
format.json { render json: @illnesses }
end
...
end
illness.rb:
class Illness < ActiveRecord::Base
...
def self.search(search)
if search
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
else
find(:all)
end
end
可以y ou請指導我如何實現這個擴展? 我是一個初學者(顯然),我真的不知道應該是什麼「的form_tag」的行動,我應該在哪裏實現它和類實現擴展搜索...
感謝, 李
你在使用Rails 2.x或3.x嗎?看起來像2.x,但如果你是新手,那麼你會希望從3.x開始 –
其實我使用rails 3.2.3 ..我使用舊的語法嗎? – user429400
是的,'find(:all)'是舊的。你想'where'語法。 –