ऐसा लग रहा है के साथ एक फार्म जोड़ने आपको एक कस्टम कार्रवाई और दृश्य बनाना पड़ सकता है। ऐसा करने का एक तरीका this custom actions plugin का उपयोग करना होगा। There is also a tutorial about how to build a custom action here. मैंने स्मारकसीएसवी का भी उपयोग किया, और यह शानदार ढंग से काम करता है।
रेल व्यवस्थापक के साथ एक कस्टम कार्रवाई रजिस्टर करने के लिए, आप config/initializers/rails_admin.rb में यह करना होगा:
module RailsAdmin
module Config
module Actions
class YourClass < RailsAdmin::Config::Actions::Base
RailsAdmin::Config::Actions.register(self)
##code here, as explained more below
end
end
end
end
इस वर्ग में, आप the base actions में से किसी के वारिस कर सकते हैं। तो एक कस्टम आंशिक रजिस्टर करने के लिए, उस वर्ग में आप क्या करेंगे:
# View partial name (called in default :controller block)
register_instance_option :template_name do
:your_class
end
आपका _your_class partials .. मैं भी शामिल नहीं कर रहा हूँ एप्लिकेशन/विचारों/rails_admin/मुख्य /, आप बहुखण्डीय साथ प्रपत्र संभाल कर सकते हैं में होना चाहिए आंशिक कोड, अगर आप मुझे स्विंग लेना चाहते हैं तो मुझे बताएं।
आप शायद भी मॉडल गुंजाइश पर अपनी कार्रवाई चाहते हैं:।
register_instance_option :controller do
Proc.new do
@order = Order.import(params[:file])
f = SmarterCSV.process(file.tempfile)
f.each do |r|
#combine date and time fields
r[:date_time] = [r[:date],r[:time]].join(' ')
Order.create("date" => r[:date_time])
end
end
end
:
register_instance_option :collection? do
true
end
और में अपने नियंत्रक कोड डाल यह शायद यहाँ उदाहरण के लिए प्रसंस्करण संभाल करने, सबसे अच्छा होगा
अगला, आपकी कार्रवाई RailsAdmin :: Config :: क्रियाओं के साथ पंजीकृत होनी चाहिए (यह कोड कॉन्फ़िगर/प्रारंभकर्ता/rails_admin.rb में रखा गया था):
module RailsAdmin
module Config
module Actions
class ApproveReview < RailsAdmin::Config::Actions::Base
RailsAdmin::Config::Actions.register(self)
end
end
end
end
अगला, कस्टम कार्रवाई को कॉन्फ़िगर/प्रारंभकर्ता/rails_admin में क्रिया कॉन्फ़िगरेशन में सूचीबद्ध करने की आवश्यकता है।आरबी:
RailsAdmin.config do |config|
config.actions do
dashboard
index
new
your_class
show
edit
delete
end
end
ट्यूटोरियल में और विवरण हैं, लेकिन मुझे लगता है कि यह एक सुंदर ठोस शुरुआत होनी चाहिए!
आप किस रत्न को अपलोड करने के लिए उपयोग कर रहे हैं? और आप वास्तव में क्या चाहते हैं। क्या आप फ़ाइल को बैक एंड में अपलोड करना चाहते हैं या सीएसवी/एक्सएलएस डेटा को बैक ग्राउंड में संसाधित करना चाहते हैं। –
मैं बस फ़ाइल अपलोड करना चाहता हूं, और इसे पृष्ठभूमि में संसाधित करना चाहता हूं। फाइल को पोस्ट करने के समान सरल और फिर मैं एक एसिंक नौकरी सेट कर सकता हूं। मैं रेलवे व्यवस्थापक से सीधे इस फ़ाइल के साथ एक वर्ग के मॉडल या उदाहरणों का प्रबंधन नहीं कर रहा हूं। मुझे बस लोगों के माध्यम से इसे अपलोड करने का एक तरीका चाहिए। – randombits
बहुत सारे तरीके से आप इसे कर सकते हैं। सबसे अच्छा तरीका सिर्फ पेपरक्लिप या वाहक तरंग मणि का उपयोग कर फ़ाइल अपलोड करें। तो रूबी को इसकी प्रक्रिया करने के लिए इसकी सीएसवी लाइब्रेरी है। और जब भी मणि या बस सरल जमीन पर इसे संसाधित करने के लिए धागा बनाते हैं। –