我已经实现了一个简单的搜索表单(根据“简单表单”屏幕截图),用于搜索我的数据库中的“疾病”表。 现在我想要相同的搜索框来搜索“疾病”表和“症状”表。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'语法。 –