मैं एक ऐसा फॉर्म बनाने की कोशिश कर रहा हूं जो मुझे एक एसोसिएशन के लिए नए रिकॉर्ड जमा करने की अनुमति देता है जहां एसोसिएशन इनपुट समूहबद्ध होते हैं।समूह और फ़ील्ड_
class Product < AR::Base
has_many :properties
accepts_nested_attributes_for :properties
end
ध्यान दें कि नियंत्रक में संपत्तियों की एक श्रृंखला के उत्पाद के लिए निर्माण कर रहे हैं, तो @product.properties.empty? # => false
।
नीचे fields_for
मुझे product[properties_attributes][0][value]
जैसे नामों के साथ सही इनपुट देता है।
= form.fields_for :properties do |pform|
= pform.input :value
लेकिन जैसे ही मैं कोशिश करते हैं और समूह संघ यह अब सही नाम के साथ आदानों उत्पन्न करता है के रूप में:
- @product.properties.group_by(&:group_name).each do |group_name, properties|
%h3= group_name
= form.fields_for properties do |pform|
= pform.input :value
यह आदानों जो name
विशेषता product[product_property][value]
तरह जबकि वास्तव में इस product[property_attributes][0][value]
होना चाहिए बनाने पहले उदाहरण के अनुसार।
रेल प्रलेखन पता चलता है कि आप यह कर सकते हैं:
= form.fields_for :properties_attributes, properties do |pform|
लेकिन यह एक त्रुटि "सरणी के लिए अपरिभाषित विधि मूल्य" देता है।
यह काम करने के लिए लगता है, मैं क्यों मैं कोशिश नहीं की पता नहीं है ': properties' बजाय ': property_attributes'। जल्द ही स्वीकार करेंगे। – Kris