2010-01-30 17 views
8

मैं link_to का उपयोग कर एक ror समस्या में भाग गया है। लिंक_to पैरामीटर के भीतर मैंने अपनी "विधि" => "पोस्ट" निर्दिष्ट करने के बाद, GET विधि और मेरे बटन_ का उपयोग करने के लिए मेरा लिंक क्यों उपयोग किया है?Button_to POST Link_to का उपयोग करता है GET का उपयोग करता है, क्यों? आरओआर

दृश्य:

<%= button_to "pdf", :action => 'getquote' %> 
<%= link_to 'pdf', {:controller => 'inventories', :action => 'getquote', :method => :post } %> 

नियंत्रक विधि:

def getquote 
@cart = find_cart 
respond_to do |format| 
format.pdf 
end 
end 

टर्मिनल आउटपुट (बटन/लिंक, क्रमशः):

Processing InventoriesController#getquote (for 127.0.0.1 at 2010-01-30 01:38:02) [POST] 
    Parameters: {"action"=>"getquote", "authenticity_token"=>"D2cwnHyTHgomdUM3wXBBXlOe4NQLmv1Srn0paLbExpQ=", "controller"=>"inventories"} 

Processing InventoriesController#show (for 127.0.0.1 at 2010-01-30 01:39:07) [GET] 
    Parameters: {"method"=>"post", "action"=>"show", "id"=>"getquote", "controller"=>"inventories"} 

उत्तर

11

मुझे लगता है कि अपने html विकल्प आपके यूआरएल विकल्पों में से एक अलग हैश में होना जरूरी:

<%= link_to 'pdf', {:controller => 'inventories', :action => 'getquote'}, {:method => :post } %> 

मैं कोई भाग्य के साथ, एक उचित उदाहरण के लिए सब कुछ खत्म देखा। मेरे कोड के लिए, मैं ज्यादातर छोड़ दिया गया है और सिर्फ नई शैली का उपयोग करें:

<%= link_to 'Delete', custom_event, :confirm => 'Are you sure?', :method => :delete %> 
+0

मुझे आरओआर 3.0.17 (या 18, या 1 9, याद नहीं है) के साथ एक ही समस्या है। मैंने इस "नई शैली" की तरह मार्कअप बनाया है, यह एक विशिष्ट पृष्ठ को छोड़कर अधिकांश पृष्ठों पर काम कर रहा है। कॉल एक ही बात है, मुझे नहीं पता कि क्या गलत है। फ़ायरबग भी दिखाता है कि लिंक में 2 डेटा पैरामीटर है: डेटा-पुष्टिकरण और डेटा-विधि। क्या यह सही होना चाहिए? –

1

एक संभावना यह है कि आप Javascript विकलांग, में है जो मामला यह एक जीईटी पर वापस आ जाएगा।

+1

जावास्क्रिप्ट सक्षम है। –

6

जो दौरा है :)

डिफ़ॉल्ट रूप से किसी के लिए उपयोगी हो सकता है, button_to केवल पोस्ट कार्रवाई करता है।

बनाने करने के लिए एक पाने के वाक्य रचना इस प्रकार है:

<%= button_to 'pdf', { :action => 'getquote'}, :method => :get %> 
+1

काम करता है, लेकिन केवल तभी जब आप 'प्राप्त करें' प्रतीक या लोअरकेस 'प्राप्त करें" '। स्ट्रिंग '" प्राप्त करें "' काम नहीं करता है। बस थोड़ा गचाचा। – Gunchars

+3

जब मैं ऐसा करता हूं तो यह एक प्रश्न चिह्न "?" जोड़ता है मेरे यूआरएल के अंत तक। कोई और इसे देखता है या ठीक है? –

+1

@TrevorMcKendrick यह उपयोगी हो सकता है http://stackoverflow.com/a/8122116/1297435 –

संबंधित मुद्दे