2012-09-03 8 views
16

मैं अपना खुद का कस्टम व्यू बना रहा हूं कि मुझे अपने उपयोगकर्ताओं के लिए संबंधित मॉडल को कम दर्दनाक बनाने की प्रक्रिया बनाने की आवश्यकता है। मैं उन्हें संपादित करने के लिए नियंत्रण के साथ, ऑनलाइन मॉडल से जुड़े सभी मॉडलों को प्रदर्शित करना चाहता हूं। बुनियादी क्षेत्रों के लिए अपना खुद का रोल करना काफी आसान है, लेकिन मैं इनलाइन मॉडल के संगठनों के लिए form_filtering_select आंशिक उपयोग करना चाहता हूं, लेकिन मुझे ऐसा करने के लिए कोई दस्तावेज नहीं मिल रहा है।कस्टम विचारों में rails_admin रूपों का उपयोग करें?

उत्तर

0

वहां एक अच्छा मणि है जो आप चाहते हैं कि काफी कुछ करता है। इसे Nested Form Fields कहा जाता है। यह आपको एक ही पृष्ठ पर रिकॉर्ड (उनके है_मेनी एसोसिएशन के साथ) संपादित करने की अनुमति देता है। इसके बारे में अच्छी बात यह है कि यह पेज रीलोड के बिना फॉर्म फ़ील्ड को गतिशील रूप से जोड़ने/निकालने के लिए jQuery का भी उपयोग करता है। उचित उपयोग के लिए docs रत्नों को चेकआउट करें। उम्मीद है की वो मदद करदे!

+0

यदि आप नेस्टेड फॉर्म फ़ील्ड का उपयोग करके एक उदाहरण जोड़ते हैं तो मैं आपको बक्षीस दूंगा। – max

1

आप उपयोग कर सकते हैं Nested Form

एक उपयोगकर्ता वर्ग जो परियोजनाओं पाठक विधि से परियोजना उदाहरणों की एक सरणी देता है और projects_attributes = लेखक विधि का जवाब पर विचार करें:

class User 
    def projects 
    [@project1, @project2] 
    end 

    def projects_attributes=(attributes) 
    # Process the attributes hash 
    end 
end 

ध्यान दें कि projects_attributes = लेखक वास्तव में फ़ील्ड_ के लिए विधि वास्तव में पहचानने के लिए आवश्यक है: संग्रह के रूप में परियोजनाएं, और सही सूचकांक फॉर्म मार्कअप में सेट किए जाने के लिए।

जब परियोजनाओं को पहले से ही उपयोगकर्ता पर एक संघ आप के लिए लेखक विधि को परिभाषित करने के accepts_nested_attributes_for का उपयोग कर सकते है:

class User < ActiveRecord::Base 
    has_many :projects 
    accepts_nested_attributes_for :projects 
end 

इस मॉडल को अब एक नेस्टेड fields_for के साथ प्रयोग किया जा सकता है। नेस्टेड fields_for कॉल करने के लिए दिए गए ब्लॉक संग्रह में प्रत्येक उदाहरण के लिए दोहराया जाएगा:

<%= nested_form_for @user do |user_form| %> 
    ... 
    <%= user_form.fields_for :projects do |project_fields| %> 
    <% if project_fields.object.active? %> 
     Name: <%= project_fields.text_field :name %> 
    <% end %> 
    <% end %> 
    ... 
<% end %> 

यहाँ जानकारी के लिए Reference चला जाता है।

+0

क्या आपके पास इस उदाहरण में विशेषताओं हैश को संसाधित करने के लिए मैं क्या लिखूंगा इसका एक उदाहरण है? – pappy

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