मेरे पास कार्य और उपयोगकर्ता हैं। जब कोई उपयोगकर्ता कोई कार्य पूरा करता है, तो मैं एक पूर्णता बनाता हूं जिसमें उपयोगकर्ता के लिए यह फ़ील्ड होता है कि वे कितने समय तक व्यतीत करते हैं। मुझे एक ऐसा फॉर्म चाहिए जो सभी कार्यों को उनकी समापन स्थिति और time_spent विशेषता के साथ दिखाता है। सबमिट करने पर, मौजूद पूर्णता को अद्यतन किया जाना चाहिए और नए बनाए जाने चाहिए। यदि संभव हो तो मैं फॉर्मटास्टिक में ऐसा करना चाहता हूं लेकिन मैं मूल रेल 3 समाधान से खुश हूं।संबंधित रिकॉर्ड्स के उप-समूह के लिए कोई फॉर्म कैसे प्रदर्शित करें, जिनमें से कुछ अभी तक मौजूद नहीं हैं?
class Completion < ActiveRecord::Base
belongs_to :task
belongs_to :user
# attribute time_spent
end
class User < ActiveRecord::Base
has_many :completions
has_many :tasks, :through => :completions
end
class Task < ActiveRecord::Base
belongs_to :milestone
has_many :completions
has_many :users, :through => :completions
end
एक अतिरिक्त पहलू यह है कि मैं केवल मील का पत्थर से संबंधित कार्यों का एक निश्चित सेट दिखाना चाहता हूं। क्या मेरे पास मील का पत्थर नियंत्रक पर एक फॉर्म होना चाहिए जो पूर्णता नियंत्रक को पोस्ट करता है?
class Milestone < ActiveRecord::Base
has_many :tasks
has_many :completions, :through => :tasks
end
अद्यतन मैं दिनों के लिए देखा है अब और मैं manydeadends पाया है। यह Multiple objects in a Rails form करीब है, लेकिन यह आवश्यक है कि सभी लिंकिंग ऑब्जेक्ट्स पहले से मौजूद हों।
यह प्रश्न अलग-अलग सेट करता है कि कुछ लिंक अभी तक मौजूद नहीं हैं और इसमें घोंसले के लिंक के लिए कोई भी मॉडल नहीं है। रयान डाइगल के Nested Object Forms post के साथ) मैंने इस काम को किसी उपयोगकर्ता के लिए सभी संभावित पूर्णताओं को संपादित करने के लिए बनाया है, लेकिन मुझे एक रूप में संभावित पूर्णताओं का एक सबसेट संपादित करने की आवश्यकता है। क्या मुझे एक अनावश्यक वस्तु बनाने की आवश्यकता है मीलस्टोनकंपूर्णताएं has_many
प्राप्तियां और belongs_to
उपयोगकर्ता? एक सक्रिय मॉडल has_many
कर सकते हैं?
अभी आपके प्रश्न को और अधिक दिखाई देने के लिए मेरा उत्तर हटा दिया गया है, आपके द्वारा दिए गए विवरण के साथ अपना प्रश्न संपादित करें :) – apneadiving
यह बहुत विचारशील है! मुझे इस मुद्दे को दूर करना पड़ा, इसलिए मैंने अंततः इसे छोड़ दिया और इसके आसपास काम किया। मैं रुचि रखने वाले किसी के लिए अपना उत्तर पोस्ट करूंगा। – Turadg