我的目标是让我的搜索表单在搜索后自动更新,而无需重新加载页面。我在我的rails应用程序中使用了Sunspot gem。有什么想法吗?
这是我的搜索表单search.html.haml
- if current_user
= link_to "Post New Job", new_job_path, class: "btn btn-primary"
.pull-right
=form_tag jobs_path, method: :get, class: "form-search", id: "job-search" do
%p
=text_field_tag :search, params[:search], placeholder: "Job Listings", class: "input-medium search-query"
=submit_tag "Search", :name => nil, class: "btn btn-default"
.jobs
=render 'jobs'
这是呈现的作业表
%table.table.table-striped
%thead
%tr
%th Title
%th Posted By
%th Active Until
%tbody
- @jobs.each do |job|
%tr
%td= link_to job.title, job
%td= job.author.email
%td= job.end_date
这是我在application.js中使用的Jquery
$(function () {
$('#job-search').submit(function () {
$.get(this.action, $(this).serialize(), null, 'script');
return false;
});
});
我的控制器看起来像这样
def index
@jobs = Job.active
@search = @jobs.search do
fulltext params[:search]
end
@jobs = @search.results
end
即使在我输入搜索参数后将远程设置为true,也不会显示结果。我正在使用' jquery-rails'宝石。
答案 0 :(得分:0)
我通过在名为search.js.erb
的文件中添加这行代码来修复它 $('#jobs').html('<%= escape_javascript(render("jobs")) %>');