2010-11-09 10 views
5

के साथ एक नियंत्रक कार्रवाई को कॉल करना, घंटों के लिए रेल में लिंक के साथ खेलने के बाद मैं वास्तव में अपने नियंत्रक में एक विधि को आमंत्रित करने के लिए एक लिंक प्राप्त करने में कामयाब रहा हूं। लेकिन मुझे अभी भी समझ में नहीं आता कि मेरे सभी अन्य प्रयास क्यों विफल रहे। मुझे उम्मीद है कि आप इसके साथ मेरी मदद कर सकते हैं।लिंक_to

मेरे पास मचान "कार" है। जब किसी कार के शो व्यू में, आईडी मेरे लिंक नियंत्रक में "ड्राइव" विधि को आमंत्रित करने वाले लिंक पर क्लिक करना पसंद करती है।

यह काम करता है:<%= link_to "Drive", drive_car_path(@car) %>

यह यह केवल लगता है काम करता है अगर मैं यह मेरी routes.rb है:

resources :cars do 
    member do 
    get 'drive' 
    end 
end 

<%= link_to "Drive", car_path, :method => :drive %> क्यों काम नहीं करता है?

क्या मुझे अपने नियंत्रक में बनाए गए प्रत्येक विधि के लिए routes.rb फ़ाइल में GET डालना होगा?

मुझे लगता है कि किसी भी साइट को मार्गों के साथ लिंक का उपयोग करने का तरीका नहीं बताया गया है। वे केवल अलग आते हैं। क्या आप इस पर किसी भी आसानी से समझने योग्य ट्यूटोरियल है?

+0

कमांड लाइन से, अपने विकल्प क्या हैं यह देखने के लिए "रेक मार्ग" आज़माएं। –

उत्तर

10

link_to "Drive", :controller => "car", :action => "drive"

भी प्रयास करें, method HTTP विधि को चुनने के लिए है (प्राप्त, पोस्ट, ...)। यह नियमित रूप से method नहीं है।

Rails Routing from the Outside In और The Lowdown on Routes in Rails 3 को जांचना सुनिश्चित करें, वे दोनों शानदार संसाधन हैं।

+1

आह, "विधि" अभी बहुत अधिक समझ में आता है। – deRailed

+0

बेशक, मैं बस यह देखने का इंतजार कर रहा था कि किसी और के पास योगदान करने के लिए कुछ है या नहीं। धन्यवाद। – deRailed

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