ऐसे मामले हैं, जब एप्लिकेशन ने कुछ संसाधनों को छोड़ दिया है, इसलिए इसे DRY रखने के लिए एक अच्छा समाधान है जो पूरे एप्लिकेशन के लिए कोड की कुछ पंक्तियों की आवश्यकता होती है - बस सक्रियडमिन के संसाधन नियंत्रक को ओवरराइड करें।
ActiveAdmin::ResourceController.class_eval do
def find_resource
finder = resource_class.is_a?(FriendlyId) ? :slug : :id
scoped_collection.find_by(finder => params[:id])
end
end
मत भूलना सर्वर को पुनः आरंभ करने के लिए:
निम्नलिखित सामग्री के साथ config/intializers/active_admin_monkey_patching.rb
फ़ाइल बनाएँ।
config/initialisers/active_admin.rb
में:
ActiveAdmin.setup do |config|
# == Friendly Id addon
ActiveAdmin::ResourceController.class_eval do
def find_resource
resource_class.is_a?(FriendlyId) ? scoped_collection.friendly.find(params[:id]) : scoped_collection.find(params[:id])
end
end
# initial config
end
स्रोत
2014-11-20 07:27:22
मुझे लगता है कि इसे 'config/intializers/active_admin.rb' में जोड़ा जाना है। जब मैंने इसे वहां जोड़ा तो मेरे लिए काम किया। 'Friendly_id - 5.1' – nik
इससे कोई फ़र्क नहीं पड़ता कि यह किस प्रारंभकर्ता को जोड़ा जाता है। – rantingsonrails