2014-05-21 6 views
6

में नई कार्रवाई के लिए पैरामीटर पास करें मेरे पास दो संबंधित मॉडल हैं, बनी has_many BunnyData (जो बनी से संबंधित है)। किसी विशेष बनी (सक्रिय व्यवस्थापक में) के शो पेज से, मैं संबंधित बनीडेटा बनाने के लिए एक लिंक बनाना चाहता हूं। मैं कुछ अलग अलग तरीकों की कोशिश की है, कोई सफलता के साथ, और वर्तमान में यह कोशिश कर रहा हूँ:सक्रिय व्यवस्थापक

sidebar :data, :only => :show do 
    link_to 'New Data', new_admin_bunny_datum(:bunny_id => bunny.id) 
end 

लिंक उत्पन्न किया जा रहा तरह कुछ के रूप में समाप्त होता है:

.../admin/bunny_data/new?bunny_id=5

लेकिन जब आप के पास जाओ उस पृष्ठ पर, बनी के लिए ड्रॉपडाउन को रिक्त डिफ़ॉल्ट पर सेट किया गया है क्योंकि आईडी 5 के साथ बनी का नाम दिखाने का विरोध किया गया है।

अग्रिम धन्यवाद।

+0

आपकी पोस्ट भी मदद करता है: https://groups.google.com/forum/#!msg/activeadmin/Ufmt8Uux0RA/mTm7KKB3D2IJ – monteirobrena

उत्तर

14

इस नाम में बनीडेटा, रेल मॉडल नाम फ़ील्ड डेटा मॉडल में फ़ील्ड बनाते हैं। फॉर्म को पूर्व-भरने के लिए, प्रदान किए गए किसी भी फ़ील्ड में नामस्थान भी शामिल होना चाहिए। एक उदाहरण के रूप में:

ActiveAdmin.register Post do 
    form do |f| 
    f.inputs "Post Details" do 
     f.input :user 
     f.input :title 
     f.input :content 
    end 
    f.actions 
    end 
end 

फ़ील्ड पथ सहायक के लिए हैश पास करके पूर्व-भरे जा सकते हैं।

link_to 'New Post', new_admin_post_path(:post => { :user_id => user.id }) 

जो निम्न पथ उत्पन्न करेगा और फॉर्म फ़ील्ड सेट करेगा।

/admin/posts/new?post[user_id]=5

BunnyData के मामले में, यह गृहीत की एकवचन और बहुवचन रूपों की वजह से थोड़ा अलग हो सकता है। लेकिन इनपुट के name विशेषता को खोजने के लिए जेनरेट किए गए HTML का निरीक्षण करके सत्यापित किया जा सकता है।

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