0

我只想在同一页面中显示搜索结果,而不重定向到默认搜索链接,如“.....search=&commit=Search”。我的初衷是使用 jQuery 来呈现与搜索结果相同的表单。远程选项设置如下

>   <%= form_tag index_by_dvp_path,:method => :get do %>
>        <p>
>           <%= text_field_tag :search, params[:search] %>
>           <%= submit_tag "Search",remote: true %>
>        </p>
>        <% end %>

但是当我单击搜索按钮时,页面仍然会重定向到我提到的默认链接。

我不确定问题出在哪里。

4

1 回答 1

0

您可以使用:remote => true搜索表单的选项

<%= form_tag index_by_dvp_path,:method => :get, :remote => true do %>
  <p>
   <%= text_field_tag :search, params[:search] %>
   <%= submit_tag "Search",remote: true %>
  </p>
<% end %>

并将表单提交给将在控制器中获取搜索结果的操作。format.js也用同样的方法回应

def index_by_dvp
  @values = Model.where(params[:search])

  respond_to do |format|
    format.js
  end
end

在 index_by_dvp.js.erb

$('#your_div_for_search_result').html("<%= escape_javascript(render :partial => 'your_search_partial')%>")
于 2013-08-02T07:05:19.037 回答