在Rails中单击submit_tag后渲染部分

Render a partial after submit_tag is clicked in Rails

本文关键字:染部 tag Rails 单击 submit      更新时间:2023-09-26

我了解如何在单击正常链接时呈现部分,只需使用: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链接。

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

正确,当从表单提交时,您将这些searchfromsearchto参数发送到控制器右侧作为查询成分。然后从Controller返回js格式,如:

respond_to do |format|
  format.js
end

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

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

但是请纠正我,当我最后一次RoR编码:p

这个方法太老了,但或多或少的概念可以满足你的问题,这个博客可能会帮助你理解我的想法