我有以下形式
<%= form_tag url_for(:action => "clients_new") do %>
<%= text_field_tag 'some_text' %>
<%= text_field_tag 'soem_text' %>
<%= submit_tag 'Search' %>
<%= submit_tag 'Download xls' %>
<% end %>
我需要以相同的形式为search
和download
制作相同的操作,我该怎么办呢。
我的控制器是
class ClientsController < ApplicationController
respond_to :html, :xls
def clients_new
blahblah
if params[:clien]=='download'
respond_to do |format|
format.xls
end
else
respond_to do |format|
format.html
end
end
end
end
答案 0 :(得分:0)
在同一表格中没有2个提交按钮。提交操作只会转到控制器的一种方法
您可以做的是,在搜索和下载之间可能有一个radio
元素,然后在执行操作之前检查控制器上哪个选项处于活动状态。
答案 1 :(得分:0)
<%= form_tag url_for(:action => "clients_new") do %>
<%= text_field_tag 'some_text' %>
<%= text_field_tag 'soem_text' %>
<%if @form_type == 'search'%>
<%=hidden_tag :form_type, "search"%>
<%= submit_tag 'Search' %>
<%else%>
<%= submit_tag 'Download xls' %>
<%=hidden_tag :form_type, "download"%>
<%end%>
<% end %>
然后在控制器中
def clients_new
if params[:form_type] == "search"
#do something
else
end
end