6
def create 
    @emppede = Emppede.new(params[:emppede]) 

    respond_to do |format| 
     if @emppede.save 
     format.html { redirect_to :action => :index, :id => @emppede.ad } 
     format.json { render json: @emppede, status: :created, location: @emppede } 
     else 

     format.html { render action: "new", :id => @emppede.ad } *(....error)* 
     format.json { render json: @emppede.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

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

format.html { redirect_to :action => :new, :id => @emppede.ad } 

तो यह त्रुटियों संदेश इतना है कि मैं इसे फार्म के माध्यम से गुजरती हैं और सहेज सकते हैं नहीं है ...

मैं नया तरीका करने के लिए प्रयोक्ता आईडी पारित करने के लिए की है।

<div id="employm" style="display:none"> 


    <%= f.text_field :ad, :value=> @id%> 

      </div> 

लेकिन यह नया करने के लिए प्रस्तुत करना, लेकिन यहाँ मैं आईडी जो @emppede.ad में है भेजने के लिए त्रुटि जब प्रपत्र मिलता है। मैं यह कैसे कर सकता हूं? आदेश आईडी होना चाहिए नई विधि में प्रवेश करने के लिए के बाद से पारित कर दिया

redirect_to :action => :new, :id => @id 
+0

क्या आपको वास्तव में 'आईडी' को' नए 'दृश्य में पास करना होगा? आपके पास पहले से ही आपका 'emppede' सेट है, इसे अपने दृश्य में उपयोग करें। – jdoe

+0

यह एक और आईडी है जिसे मुझे भेजना है जो मेरे रूप में है। मुझे यहां से आईडी भेजना है क्योंकि मेरी नई विधि – regmiprem

उत्तर

7

सभी उदाहरण चर आप अपने नियंत्रक कार्रवाई में परिभाषित दृश्य में मौजूद हैं। तो यदि आप अपने नियंत्रक में @id = 11 परिभाषित करते हैं तो आप इसे <%= @id %> का उपयोग करके दृश्य में एक्सेस कर सकते हैं।

आप बस parameters दृश्य के अंदर का उपयोग आप एक रीडायरेक्ट से अधिक यह करने के लिए चाहते हैं कर सकते हैं कर सकते हैं (या उन्हें नियंत्रक में पहली का उपयोग करें और फिर ऊपर उदाहरण विधि का उपयोग करें।

आपके द्वारा प्रेषित कोड थोड़ा गुप्त है , लेकिन प्रस्तुत करना new विधि में प्रवेश नहीं करेगा लेकिन वर्तमान संदर्भ में new.html.erb प्रस्तुत करना इसलिए यदि आप अपने कार्रवाई बना सकते हैं और नए आप इसे वर्तमान होगा प्रस्तुत करना

में @id घोषित जब के लिए पुनः निर्देशित:।। कार्रवाई आप ' आपको पैरामीटर के रूप में @id को पास करना होगा।

+0

की तरह है, मुझे उपयोगकर्ता आईडी को नई विधि में पास करना होगा ताकि मैं इसे फ़ॉर्म के माध्यम से पास कर सकूं और सहेज सकूं। \t

लेकिन जब फॉर्म को त्रुटि मिलती है तो यह नया प्रस्तुत करती है लेकिन यहां मुझे आईडी को भेजना है जो @ emppede.ad में है। मैं यह कैसे कर सकता हूँ? – regmiprem

+0

क्या आप मेरे प्रश्न को संपादित कर सकते हैं ताकि मैं परिणाम प्राप्त कर सकूं। मैं गड़बड़ कर रहा हूँ – regmiprem

+1

धन्यवाद मुझे यह मिल गया है कि मुझे विधि बनाने के अंदर @ id = @ emppede.ad को परिभाषित करना है, तो यह ठीक है .... – regmiprem

7

रेंडर "new.html" की तलाश करेगा, यह नई विधि में प्रवेश नहीं करेगा।

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