2011-12-30 9 views
13

Ben bir GET isteği oluşturmak için overwrited aşağıdaki butonu vardır: metot:button_to

Processing by AppointmentsController#new as HTML 
    Parameters: {"authenticity_token"=>"AWkL", "listing_id"=>"2", "method"=>"get"} 
Ancak

= button_to "Tutor", {:controller => "appointments", :action => "new", 
    :listing_id => @listing.id} , :method => :get 

, hala fazladan parametrelere sahip bir POST isteği olsun

benim yolları dosya, var:

resources :appointments 

ben neyi yanlış yaptık?

Teşekkür ederiz.

cevap

12

Düğmeler GET istekleri göndermiyordur.

Bunun yerine link_to kullanmalısınız. Bir düğmeye benzemek istiyorsanız, bazı CSS'yi uygulayın. http://coding.smashingmagazine.com/2009/11/18/designing-css-buttons-techniques-and-resources/

+1

Arama düğmelerinin durumu nedir? Sıklıkla "GET" isteklerini kullanırlar. – mwfearnley

+1

Bu soruya cevap vermiyor. Birisi sorarsa, "X'i nasıl yaparım?" "X yapmamalısın, ama Y yerine" ile cevap vermek için konuyu değiştiriyor. –

+1

@LukeLaupheimer: Bazen (aslında çoğu zaman) geçerli bir cevaptır. Belki de bu durumda değil. –

1

Sen UJS driver code bakmak isteyebilirsiniz:

a\[data-method\] burada kullanılan seçici olduğu: Burada iyi bir makale Yani

(gerçekten test olamazdı) çalışmalıdır:

button_to "Tutor", {...}, :html => { "data-method" => "get" } 
+0

Teşekkürler Tigraine. Çözümün benim için çalışmıyor. Protokol (jQuery ile) arasında bir get yöntemini zorlamamı engelleyen bir çakışma olabileceğinden şüpheleniyorum. – AdamNYC

+0

Ah üzgünüm .. Sadece UJS koduna baktım ve bunun işe yarayacağını düşündüm .. En azından'etiketini kullanırsanız, – Tigraine

30

Sadece yöntemi kullanın: ve :

olsun
button_to "New User", new_user_path, method: :get 
+0

kullanıyor. –

+1

Bazı html seçenekleriniz varsa, herşeyi hash: 'button_to" Yeni Kullanıcı ", new_user_path, {method: 'get', class:" class-class "}' – borjagvo

+0

ya da bir yol karma, 'method' 'dan ayırdığınızdan emin olun: 'button_to" Frob User ", {action:: frob, id: user.id}, yöntem:: get' – mwfearnley