【发布时间】:2016-08-22 16:07:19
【问题描述】:
我了解如何在单击普通链接时呈现部分内容,只需使用 :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 链接。
【问题讨论】:
-
如果您知道如何使用
remote: true使用link_to渲染部分,那么您也可以对表单执行相同操作。只需将remote: true添加到您的form_tag。 示例:<%= form_tag transports_path, :method => "get", id: "search-form", remote: true do %> -
@dkp 的解释是正确的,但是从你的代码来看,你应该做一个
POST方法表单,然后从控制器返回一个 ajax javascript 只是为了更改部分内容(和/或)删除表格或其他任何东西 -
@ksugiarto 我直接从数据库请求。
@transports = Transport.where("strtloc LIKE ? AND endloc LIKE ?", "#{params[:searchfrom]}%", "#{params[:searchto]}%")这是从我的控制器中搜索的内容。
标签: javascript jquery ruby-on-rails