2012-06-13 15 views
6

की आवश्यकता है यह एक नई नई परियोजना है। यहाँ है सटीक आदेशों मैं हुई:क्यों रेल नियंत्रक कार्रवाई विधि पैरामीटर

  1. root :to => "image#process"
:

  1. rails new MyProject
  2. bundle install
  3. rails generate controller Image

मैं इस एक मार्ग को जोड़ दिया है

मैं

def process 
    render :nothing => true 
end 

ImageController (image_controller.rb) को यह समारोह जोड़ दिया है और अंत में मैं डिफ़ॉल्ट index.html हटा दिया है। जब मैं प्रोजेक्ट चलाता हूं, तो यह एक त्रुटि कहती है कि प्रक्रिया 0 पैरामीटर की अपेक्षा करती है, 1 नहीं। इसलिए मैं यह बताने के लिए विधि को संशोधित करता हूं कि प्रक्रिया में कौन सा पैरामीटर भेजा जा रहा है।

def process(arg) 
    p arg 
    render :nothing => true 
end 

स्ट्रिंग "प्रक्रिया" स्क्रीन पर मुद्रित होती है। मैंने पहले कई रेल परियोजनाएं की हैं और कभी इसका सामना नहीं किया है। क्या मुझे कहीं एक कदम याद आया? क्या यह Rails 3.0.10 में कुछ नया है? या शायद रूबी 1.9.2 के कारण? मुझे लगता है कि मैं आमतौर पर 1.8.7 का उपयोग करता हूं।

उत्तर

11

आप process के रूप में कोई कार्रवाई नहीं कर सकते हैं, यह रेल नियंत्रकों के लिए एक आंतरिक विधि है, इसे कुछ और नाम दें।

अन्य नामों का एक समूह है जिसका उपयोग आप नियंत्रक कार्यों जैसे रेंडर, पैराम्स, अनुरोध के लिए नहीं कर सकते हैं। दुर्भाग्य से इन चीजों की एक सूची नहीं है।

+0

ओह मैंने इसके बारे में भी सोचा नहीं था। धन्यवाद! – Spidy

+0

आह .. मुझे बहुत समय बचाया। धन्यवाद! – rdsoze

1

भविष्य में संदर्भ के लिए, मामले में आप इसे उपयोग नहीं कर रहे है, तुम यहाँ सभी आंतरिक तरीकों और वर्गों देख सकते हैं: जब नाम उठा ruby doc with nav on top right

मुझे मदद करता है।

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