获得简单的搜索表单,无需Thinking Sphinx即可在多个模型中工作

时间:2012-01-14 18:20:08

标签: ruby-on-rails-3 search

我在这里看到了一些关于搜索多个模型的帖子(特别是herehere)。但是,我想知道我是否可以调整Ryan的Railscast#37为三四个模型做这个,而不必弄清思维斯芬克斯,因为我是这一切的初学者。

正如我所说,我有一些模型,虽然我在下面仅提及两个模型,但我使用searches_controllerindex动作进行了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 %>

0 个答案:

没有答案