我理解在点击普通链接时如何呈现部分,只需使用: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链接。
答案 0 :(得分:0)
请允许我解释答案部分,因为它可能不会太短。
正确,当从表单提交时,您将searchfrom
和searchto
参数发送给控制器权限以作为查询成分。然后从控制器返回js
格式,例如:
respond_to do |format|
format.js
end
然后添加创建新类型的返回文件,如 create.js.erb ,包含如下内容:
$("#transports_list ").html("<%= escape_javascript(render 'transports/transports') %>");
但请纠正我,这是我上一次RoR编码的时间:P
这种方法已经过时了,但这个概念或多或少可以解决您的问题,这个blog可以帮助您理解我的想法。