我是 RoR 的新手。我正在尝试创建一个主页/索引页面,其中将包含一个 ransack gem 的搜索表单。我不知道该怎么做。
我有 6 个相互关联的模型。我想创建一个搜索表单并将结果路由回查看者的搜索页面。
任何帮助将不胜感激,因为我已经花了 4 天时间试图弄清楚。
谢谢你
以下获取输入,然后将我重定向到带有搜索结果的应用程序/索引页面。
applications_controller.rb
class ApplicationsController < ApplicationController
before_filter :authenticate_user!
before_filter :only_allow_admin, :only => [ :index, :edit, :destroy ]
# GET /applications
# GET /applications.json
def index
@apps = Application.all
@search = Application.search(params[:q])
@apps = @search.result
@search.build_condition
respond_to do |format|
format.html # index.html.erb
format.json { render json: @apps }
end
end
home_controller.rb
class HomeController < ApplicationController
#before_filter :search
def search
# @searchphrase = "%" + params[:q] + "%"
# @results = Database.find(:all, :conditions => [ "name LIKE ? ", @searchphrase])
# render :layout => false
end
def index
@search = Application.search(params[:q])
@apps = @search.result
@search.build_condition
respond_to do |format|
format.html # index.html.erb
format.json { render json: @apps }
end
end
def about
end
end
家庭控制器中的 index.html.erb
<h2>Core Database</h2>
<%= javascript_include_tag "prototype" %>
<%= search_form_for @search do |f| %>
<div class="field">
<%= f.label :name_cont, "Name contains" %>
<%= f.text_field :name_cont %>
</div>
<div class="actions"><%= f.submit "Search" %></div>
<% end %>
<div id="results"><% yield %></div>