2009-02-13 23 views
9

LINK_TO रेल एक tutorial Ive पालन करने के बाद पर पाया। मैं इसे फिर से सीखने के लिए, मचान के बिना, इसे बेहतर तरीके से सीखने के लिए।रूबी वाक्य रचना

हालांकि, संपादन मेरी \ एप्लिकेशन \ विचारों \ घर \ index.html.erb को रोकने के लिए:

<h1>Rails test project</h1> 
<%= link_to "my blog", posts_path> 

मैं एक त्रुटि:

undefined local variable or method `posts_path' for #<ActionView::Base:0x4e1d954> 

इससे पहले कि मैं ऐसा किया, मैं rake db:create भाग गया , एक प्रवास वर्ग परिभाषित और एक समस्या के बिना rake db:migrate भाग गया, सब कुछ।

तो डेटाबेस एक पोस्ट तालिका शामिल करना चाहिए। लेकिन उस link_to आदेश नहीं कर सकते posts_path खोजने के लिए लग रहे हैं। वह चर (या यह भी एक समारोह है?) शायद मचान दिनचर्या के माध्यम से परिभाषित किया गया है।

मेरा प्रश्न अब है; मैं इसे मैन्युअल रूप से कैसे कर सकता हूं, posts_path परिभाषित करता हूं?

उत्तर

21

आप config/routes.rb

रेल 2.x वाक्य रचना में आपकी पोस्ट करने के लिए एक रास्ता परिभाषित करने के लिए की आवश्यकता होगी:

map.resources :posts 

रेल 3.x वाक्य रचना:

resources :posts 
+0

काम करता है। प्रोजेक्ट में path.rb फ़ाइल की तुलना की गई है जो मचान और वर्तमान का उपयोग करती है। और वह रेखा एकमात्र चीज थी जो गायब थी। इसे जोड़ने के बाद, सूचकांक पृष्ठ अपेक्षा के अनुसार काम करता है। – Mizipzor

5

_path तरीके हैं गतिशील रूप से उत्पन्न आमतौर पर। विधि अनुपलब्ध त्रुटि तब होती है जब निर्दिष्ट ऑब्जेक्ट का कोई मार्ग नहीं है या इस मामले में जिस विधि को आप स्पष्ट रूप से कॉल कर रहे हैं।

एक मार्ग को परिभाषित करना इसे ठीक करना चाहिए। उपरोक्त हरमन ने ऐसा करने का एक तरीका दिखाया।

आप अपने रेल एप्लिकेशन की जड़ से 'रेक मार्गों' सभी मार्गों कि कॉन्फ़िगर किया गया है

5

<% = LINK_TO "मेरे ब्लॉग" को देखने के लिए चला सकते हैं, posts_path>

इस है वास्तव में आपके एआरबी में क्या है, इसमें स्क्रिप्टलेट तत्व के अंत में प्रतिशत चिह्न गुम है। सुनिश्चित नहीं है कि इससे आपकी समस्या हुई है, या शायद मैं चीजों को सचमुच ले रहा हूं ....

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