我在这里看到了一些关于搜索多个模型的帖子(特别是here和here)。但是,我想知道我是否可以调整Ryan的Railscast#37为三四个模型做这个,而不必弄清思维斯芬克斯,因为我是这一切的初学者。
正如我所说,我有一些模型,虽然我在下面仅提及两个模型,但我使用searches_controller
和index
动作进行了show
。
在模型上我包含了Ryan的型号代码:
def self.search(search)
if search
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
else
find(:all)
end
end
在searches_controller
我有以下内容:
def index
@profiles = Profile.search(params[:search])
@employers = Employer.search(params[:search])
end
def show
@profiles = Profile.search(params[:search])
@employers = Employer.search(params[:search])
end
在我searches/show.html.erb
我有以下内容:
<%= @profiles.each do |profile| %>
<div class="question">
<div class="questionHeader">
<h5 class="questionTitle"><%= link_to profile.first_name, profile %></h5>
</div>
</div><!-- end question -->
<% end %>
<%= @employers.each do |employer| %>
<div class="question">
<div class="questionHeader">
<h5 class="questionTitle"><%= link_to employer.name, employer %></h5>
</div>
</div><!-- end question -->
<% end %>
当我执行搜索时,我的节目会呈现三个空数组[][][]
。
如果不放弃这一点并转向Thinking Sphinx,我可以采用下面的简单表格来完成这项工作吗?
<% form_tag searches_path, :method => 'get' do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "#", :name => nil %>
</p>
<% end %>