2013-08-16 2 views
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 

, но когда я отправляю форму, она, по-видимому, перенаправляет на действие сохранения. Строка, которая построена, - http://0.0.0.0:3000/posts?class=form-inline&method=get вместо чего-то вроде http://0.0.0.0:3000/view1?utf8=%E2%9C%93.....

Что мне здесь не хватает?

ответ

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 
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 %> 
Смежные вопросы