5

ठीक है, समस्या एक नई प्रविष्टि बनाने के लिए नियंत्रक से एक फॉर्म प्रस्तुत करने का प्रयास कर रही है .. इसके लिए मैं मचान निर्माण के साथ आने वाले डिफ़ॉल्ट रूप को कॉल कर रहा हूं। im निम्न त्रुटिरेल पर रूबी में किसी अन्य नियंत्रक से एक फॉर्म प्रस्तुत करना 3

undefined method 'model_name' for NilClass:Class

सिर्फ देखने से ही प्रतिपादन के कोई तरीका है हो रही

<%= render :partial => 'contactos/form' %> 

और: मीटर इस तरह यह करने की कोशिश कर?

यदि नहीं है ... नियंत्रक में मुझे कौन से पैरामीटर जोड़ना चाहिए?

अभी मैं सिर्फ निम्नलिखित कोड है:

Class DisplayController < ApplicationController 
    def index 
     @contactos = Contacto.all 
    end 
end 

* यह दृश्य नियंत्रक, मेरे पाड़ से बनाने के अद्यतन और संपादित कार्यों

ठीक है के साथ नहीं है, मेरे द्वारा की गई एक बहुत बड़ा शोध लेकिन कोई जवाब मेरी समस्या को ठीक नहीं कर सकता है। (यह पहली बार है जब मैं कुछ पूछता हूं, किसी भी गलती के लिए अग्रिम में खेद है)

उत्तर

6

समस्या यह है कि आपके संपर्क के लिए फ़ॉर्म में उपयोग करने वाले वेरिएबल मौजूद नहीं हैं। इंडेक्स एक्शन में आपके द्वारा बनाए गए एकमात्र चर सभी संपर्कों की एक सरणी है, लेकिन फ़ॉर्म को एक ही संपर्क के एक उदाहरण की आवश्यकता है।

क्योंकि आप कोई नया संपर्क कर रहे हैं, तो आप कार्रवाई सूचकांक में कुछ इस तरह करना है:

@contact = Contact.new 
2

आम तौर पर ऐसा होता है जब हम दृश्य में एक आवृत्ति चर का उपयोग करते हैं लेकिन यह शून्य है।

उदाहरण के लिए: नया उपयोगकर्ता निर्माण के रूप में हम उपयोग करते हैं,

form_for @user do |f| 
.... 
end 

और @user नियंत्रक कार्रवाई में आरंभ नहीं किया जाता है, जहां से हम प्रपत्र प्रस्तुत करना, ऐसा कर सकते हैं।

0

आप उस रूप में प्रयोग किया जाता आंशिक परम इससे पहले कि आप प्रस्तुत करना परिभाषित किया गया है सुनिश्चित करने की आवश्यकता आंशिक।

इसके अलावा, आप आंशिक की जरूरत नहीं है, तो आप सिर्फ रख सकते हैं:

<%= render 'contactos/form' %> 
संबंधित मुद्दे