2012-03-16 13 views
8

Get yöntemini kullanarak bir form göndermeye çalışıyorum. Daha önce form_tag ile benzer bir şey deniyordum ve çalışıyordu ama şimdi bir form_for etiketine geçtiğimde bu işe yaramıyor.Get yöntemi ile form_for etiketini kullanma

<%- filter_path = params[:action] == "index" ? posts_path : sneak_peek_posts_path %> 
<%= form_for(@post_filter, :url=> filter_path, :method => :get) do |f| %> 

Rota yok hatası alıyorum.

cevap

18

Gerekirse, ham HTML özelliklerini :html kullanarak geçirebilirsiniz. Raylar için 3:

<%= form_for(@post_filter, :url=> filter_path, :html => { :method => 'GET' }) do |f| %> 

Güncelleme ve Raylar 4'te aşağıda @ andre.orvalho önerisi başına, method parametre doğrudan tedarik edilebilir:

<%= form_for(@post_filter, url: filter_path, method: :get) do |f| %> 
+0

teşekkürler ki çalıştı. – nightf0x

+1

cevabınızı raylara güncellemeniz gerekir 4: <% = form_for (@post_filter, url: filter_path, method:: get) do | f | %> –

+0

url yoluna url argümanları nasıl eklenir ??? –

2

Eğer

<%= form_for(@post_filter, :url=> filter_path, :html => {:method => :get}) do |f| %> 
denedin mi