2017-02-15 8 views
0

この問題は私を狂っています。form_tagは常に同じコントローラにリダイレクトします#action(static_pages#index)

私はapplication.html.erbに2つのフォームを持っています。彼らはpedidos#indexとpedidos#actionを起動させることになっていますが、static_pages#indexは何があっても起動されています。エラーメッセージは表示されません。最初のフォームは、手動でurl/pedidosを書いてから提出すると機能します。

routes.rbを

root 'static_pages#index' 
get 'pedidos', to: 'pedidos#index' 
get 'excel', to: 'pedidos#excel' 

application.html.erb

<%=form_tag pedidos_path, :method => 'get' do %> 
<%= text_field_tag :search, params[:search], placeholder: 'Búsqueda por OSCAR' %> 
<%= submit_tag "Búsqueda", :name => nil, class: 'btn btn-info' %> 
<% end %> 

他の形態:

<%=form_tag excel_path(format: :xlsx) , :method => 'get' do |f| %> 
<%=select_date Date.today, prefix: :fecha %> 
<%=submit_tag "Generar EXCEL de entregas", :name => nil, class: 'btn btn-info btn-sm' %> 
<% end %> 

とルートがどのように見えるか最終的に、これはされています

pedidos_path GET /pedidos(.:format) pedidos#index 

excel_path GET /excel(.:format) pedidos#excel 

root_path GET/ static_pages#index 
+0

あなたはログを示してもらえますか? –

答えて

1

最後に、それはHTMLの問題であったが、私はブートストラップナビゲーションバー形式のコードの中にネストされたフォームを持っていました。

この方法では、それが動作します:あなたが送信ボタンを押した後

<div class="form-group"> 
    <%= form_for '', url: {controller: 'pedidos', action: 'index' }, method: :get, class: 'navbar-form navbar-left' do |f| %> 
    <%= text_field_tag :search, params[:search], placeholder: 'Búsqueda por OSCAR' %> 
    <%= submit_tag "Búsqueda", :name => nil, class: 'btn btn-info' %> 
    <% end %> 
</div> 
関連する問題