मैं एक सुंदर आम (जैसा मैंने सोचा था) हल करने की कोशिश कर रहा हूं।रेल के पास चेकबॉक्स के साथ फॉर्म के माध्यम से है और मॉडल में शामिल क्षेत्र में अतिरिक्त फ़ील्ड
तीन मॉडलों वहाँ कर रहे हैं:
class Product < ActiveRecord::Base
validates :name, presence: true
has_many :categorizations
has_many :categories, :through => :categorizations
accepts_nested_attributes_for :categorizations
end
class Categorization < ActiveRecord::Base
belongs_to :product
belongs_to :category
validates :description, presence: true # note the additional field here
end
class Category < ActiveRecord::Base
validates :name, presence: true
end
मेरे समस्याओं शुरू जब यह उत्पाद नई/संपादित रूप में आता है।
कोई उत्पाद बनाते समय मुझे श्रेणियों (चेकबॉक्स के माध्यम से) की जांच करने की आवश्यकता होती है, जो यह संबंधित है। मुझे पता है कि यह 'product [category_ids] []' जैसे नाम वाले चेकबॉक्स बनाकर किया जा सकता है। लेकिन मुझे प्रत्येक चेक किए गए रिश्तों के लिए विवरण दर्ज करने की भी आवश्यकता है जो शामिल मॉडल (वर्गीकरण) में संग्रहीत किया जाएगा।
मैंने जटिल रूपों, habtm चेकबॉक्स आदि पर उन खूबसूरत Railscasts को देखा, मैं शायद ही कभी StackOverflow खोज रहा हूं। लेकिन मैं सफल नहीं हुआ है।
मुझे एक post मिला जो लगभग मेरे जैसा ही समस्या का वर्णन करता है। और आखिरी जवाब मुझे कुछ समझ में आता है (ऐसा लगता है कि यह जाने का सही तरीका है)। लेकिन यह वास्तव में अच्छी तरह से काम नहीं कर रहा है (यानी अगर सत्यापन विफल रहता है)। मैं हमेशा एक ही क्रम में श्रेणियों को प्रदर्शित करना चाहता हूं (नए/संपादन रूपों में; सत्यापन के पहले/बाद में) और सत्यापन बॉक्स विफल होने पर चेकबॉक्स जहां वे थे, आदि
किसी भी सामान की सराहना की। मैं रेल के लिए नया हूं (केकेपीएचपी से स्विचिंग) तो कृपया धैर्य रखें और जितना संभव हो उतना विस्तृत लिखें। कृपया मुझे सही तरीके से इंगित करें!
धन्यवाद। :)
अच्छी तरह से किया गया। मुझे लगता है कि एक आसान तरीका हो सकता है, हालांकि। – courtsimas
साझा करने के लिए बहुत बहुत धन्यवाद, मुझे http://stackoverflow.com/a/15920542/148421 के साथ भी पूरक होना था क्योंकि मेरे मूल्य जहां सहेजे नहीं जा रहे थे और मैं याद कर रहा था कि नेस्टेड विशेषताओं को कैसे अनुमति दें – Andrea