0

我的索引页面中有一个 form_tag 用于对我的模型执行搜索。

 <%= form_tag( :method => "get", :class => "form-inline") do %>

在表单中,我有两个提交按钮,它们应该指向两个不同的操作(显示搜索结果的两个不同视图。

  <div class="btn-group">
       <%= submit_tag("View1", :class => 'btn btn btn-success', :name => 'view1') %>
  </div>
  <div class="btn-group">
       <%= submit_tag("View2", :class => 'btn btn btn-primary', :name => 'view2') %>
  </div>

单击 view1 提交时,我希望它指向 view1 操作并加载与视图 2 相同的页面。

所以在我的控制器中,我做了以下事情:

  def index
    if params[:view1]
          render :action => 'view1'
      elsif params[:view2]
          render :action => 'view2'
      end
      respond_to do |format|
        format.html #{ render :layout => false }# index.html.erb        
      end
  end

但是当我提交表单时,它显然会重定向到保存操作。构造的 urlhttp://0.0.0.0:3000/posts?class=form-inline&method=get不是类似的东西http://0.0.0.0:3000/view1?utf8=%E2%9C%93.....

我在这里想念什么?

4

2 回答 2

0

让它工作

     <%= form_tag(root_path,  :method => "get", :class => "form-inline") do %>


   <%= submit_tag("view1", :class => 'btn btn btn-success', :name => 'view1') %>
   <%= submit_tag("view2", :class => 'btn btn btn-success', :name => 'view2') %>




if params[:view1]
     render :action => :view1


  elsif params[:view2]
     render :action => :view2
  end
于 2013-08-17T11:04:32.427 回答
0
def index
if params[:view1]
 @action = '/some/url'
else
  @action = '/some/url'
end

end

更改表单中的 url

<%= form_for('',url: view1) do |f| %>
--- fileds--
<%= submit_tag('conditional text') %>
<% end %>
于 2013-08-16T14:53:24.080 回答