在Rails中单击submit_tag后渲染部分

时间:2016-08-22 06:56:44

标签: javascript jquery ruby-on-rails

我理解在点击普通链接时如何呈现部分,只需使用:remote,但是当我通过submit_tag提交搜索表单时,我无法渲染部分内容。

这是我在index.html.erb中的代码

<%= form_tag(transports_path, :method => "get", id: "search-form" ) do %>

<%= select_tag "searchfrom", options_for_select(airport_names, params[:searchfrom]), :prompt => "Select From" %>
<%= select_tag "searchto", options_for_select(airport_names, params[:searchto]), :prompt => "Select To" %>

<%= submit_tag "Search" %>
<% end %>

<%= render :partial => 'transports/transports' %>

我想在单击submit_tag之后渲染传输/传输部分,我也不想将其转换为link_to链接。

1 个答案:

答案 0 :(得分:0)

请允许我解释答案部分,因为它可能不会太短。

正确,当从表单提交时,您将searchfromsearchto参数发送给控制器权限以作为查询成分。然后从控制器返回js格式,例如:

respond_to do |format|
  format.js
end

然后添加创建新类型的返回文件,如 create.js.erb ,包含如下内容:

$("#transports_list ").html("<%= escape_javascript(render 'transports/transports') %>");

但请纠正我,这是我上一次RoR编码的时间:P

这种方法已经过时了,但这个概念或多或少可以解决您的问题,这个blog可以帮助您理解我的想法。