一个提交标记,两个表单在同一页面上

时间:2012-12-30 23:12:37

标签: ruby-on-rails ruby-on-rails-3 forms

我正在寻找解决此问题的最佳方法。我在同一页面上有两个搜索表单(他们每个搜索一个不同的api信息),我想有一个提交按钮,然后相关的api被称为依赖于哪个表单有内容。所以我虽然可以在提交每个表单时指定控制器操作,如此

<div class="container margin50">
 <div class="row">
  <div class="span6 offset3 cf formBackground">
  <h1>CoverArt Finder</h1>

  <h3>Search Movies</h3>
  <%= form_tag main_results_path, :method => "get" %>
  <%= text_field_tag 'search', nil, :placeholder => 'Enter Film Name Here.....' %>

  <h1>OR<h1>

  <h3>Search Albums</h3>
  <%= form_tag album_album_results_path, :method => "get" %>
  <%= text_field_tag 'search', nil, :placeholder => 'Enter Artist Name here.....' %>
  <%= submit_tag "search" %>


</div>
</div>
</div>

显然这不起作用,因为我总是得到电影搜索参数的结果。我是否需要在那里使用条件语句来识别填写哪个表单?我在这里有点不确定。

需要任何其他信息,请询问

任何帮助表示赞赏

由于

1 个答案:

答案 0 :(得分:3)

如果你愿意做这个客户端(JavaScript / jQuery),它应该不是很多。单击提交按钮,您可以检查哪个表单具有值。一些简单的sudo代码:

on submitButton click:

if formA.someValue != null
  post / submit formA
else if formB.someValue != null
  post / submit formB