تحكم ActiveScaffold في عداد المفقودين عمل ActiveScaffold
-
13-09-2019 - |
سؤال
لدي تطبيق قديم 3YR لديه بعض وحدات التحكم مع بعض الإجراءات غير الضرورية للغاية. أحاول تنفيذ مورد جديد له علاقات مع بعض الأكبر سنا، لكنني أرغب في استخدام ActiveScascold لإدارة الموارد المتداخلة بدلا من محاولة إعادة كتابة لوحة السباغيتي التي هي بقية CodeBase. أحتاج إلى كتابة وحدات تحكم جديدة للموارد المتداخلة التي تستخدم ActiveScAffold، لكنني لا أستطيع أن أفقد وحدات التحكم القديمة، ولا يمكنني إعادة تسميتها أيضا. كيف يمكنني الحصول على التكوين ActiveCaffold لالتقاط التكوين للموارد المتداخلة من وحدة التحكم الجديدة بدلا من محاولة النظر إلى وحدة التحكم المسماة بشكل تقليدي للتكوين؟
تشك لمساعدتكم :)
-C.
المحلول
يمكنك استخدام طريقة تجاوز Active_scaffold_controller_for. من وثائق ActiveScaffold - http://www.activescaffold.com/docs/api-core.
class ApplicationController < ActionController::base
protected
def self.active_scaffold_controller_for(klass)
return FooController if klass == Bar
return "#{klass}ScaffoldController".constantize rescue super
end
end