2010-10-11 11 views
26

मैं एक प्रविष्टि संपादित करने के बाद एक अलग पृष्ठ पर रीडायरेक्ट करने का प्रयास कर रहा था, मुझे लगता है कि यह अद्यतन कोड का उपयोग कर रहा था क्योंकि आप डेटाबेस अपडेट कर रहे हैं। मुझे यह समझने में कुछ समय लगा कि मैं नियंत्रक में गलत कार्रवाई का उपयोग कर रहा था। क्या कोई कृपया बता सकता है कि काम को कैसे संपादित और अपडेट करें। दो अलग-अलग कार्रवाइयां क्यों हैं? उनके बीच मतभेद क्या हैं?आराम से रेल संपादित करें

+0

मैं कार्यों कि दो अलग-अलग श्रेणियों में विभाजित किया जा सकता है (देखें आम तौर पर सूचकांक एक आप पहले से ही बनाया समान आइटम की सूची दिखा दृश्य पर वापस रीडायरेक्ट किया जाता है)। मैंने प्रत्येक श्रेणी के लिए एक नियंत्रक बनाया है जो कार्यों के लिए एक ही मॉडल से लिंक करता है। जब मैं संपादन फॉर्म जमा करता हूं तो यह मुख्य कार्यों नियंत्रकों को वापस कार्रवाई कर रहा है कार्रवाई दिखाता है। ऐसा लगता है कि com_tasks नियंत्रक को सभी एक साथ छोड़ रहे हैं (com_tasks = श्रेणी नियंत्रकों में से एक)। मैंने प्रस्तुत किए गए एचटीएमएल आउटपुट को देखा और फॉर्म गलत नियंत्रक को सबमिट किया जा रहा है, लेकिन मुझे इसे बदलने का कोई तरीका नहीं दिख रहा है। – Rumpleteaser

उत्तर

47

संपादित कार्रवाई दृश्य

अद्यतन कार्रवाई मॉडल के साथ बातचीत (db अपडेट आदि) के लिए जिम्मेदार है प्रतिपादन के लिए जिम्मेदार है

आप rake routes चलाते हैं तो आप क्रिया के बीच अंतर देखेंगे और कार्रवाई। आम तौर पर, फ़ॉर्म सबमिट करते समय निर्माण/अद्यतन क्रियाओं का उपयोग किया जाता है। यह नए और क्रियाओं को संपादित करता है क्योंकि इन्हें दृश्य प्रस्तुत करने के लिए उपयोग किया जाता है (जो फ़ॉर्म को सबमिट करने के लिए प्रदर्शित करता है)।

+0

किस क्रम में उन्हें बुलाया जाता है? यह किस प्रक्रिया से गुजरता है? संपादित करें -> अद्यतन -> संपादित करें? अगर मैं संपादन में रीडायरेक्ट डालता हूं तो यह अपडेट नहीं होगा? – Rumpleteaser

+0

सही। अगर आप किसी * को रीडायरेक्ट करना चाहते हैं * बाद में उन्होंने एक एंट्री अपडेट की है, तो आप रीडायरेक्ट को अपडेट एक्शन में डाल देते हैं। – theIV

+1

तो उस श्रृंखला में केवल 2 घटनाएं: संपादित करें, जो फ़ॉर्म प्रस्तुत करता है, फिर अपडेट करें, जब उपयोगकर्ता इसे सबमिट करता है। यदि आप एक अलग पृष्ठ पर जाने के लिए redirect_to (डिफ़ॉल्ट रूप से एक मचान में शो दृश्य होता है), तो आपके पास तीसरा होगा। –

13

एक और परिप्रेक्ष्य - थोड़ा समानता और अंतर को उजागर करना बेमानी:

न्यू अग्रदूत कार्रवाई एक रूप प्रदान करने के लिए है, कि सबमिट करने के बाद, चलाता है कार्रवाई बनाएँ।

संपादित अग्रदूत कार्रवाई एक रूप प्रदान करने के लिए है (देखें आम तौर पर सूचकांक आप पहले से ही बनाया समान मदों की एक सूची दिखा दृश्य पर वापस रीडायरेक्ट किया जाता है), कि सबमिट करने के बाद, अद्यतन कार्रवाई चलाता है ।

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