سؤال

تصميم تطبيق ويب مع قسم المسؤول وقسم مواجهة عامة. يبدو أن وجود وحدة تحكم مواجهة عامة فقط ل "الفهرس" و "العرض" أمر زائد بعض الشيء. تشير جميع الاقتراحات التي قرأتها إلى مساحة اسم للمسمير، وهو أمر جيد. أتساءل فقط إذا كان يجب أن يكون لديك وحدة تحكم واحدة مع إجراء إضافة، قل "List_Public" أو شيء من هذا القبيل.

أنا جديد مع القضبان، لذلك ربما أنا قلق فقط من لا شيء. أنا فقط لا أحب فكرة وجود كل هذه وحدات التحكم، والمناظر، المساعدين بنفس الاسم المنتشرة في جميع أنحاء أدلة المشروع.

أي شخص لديه أي نظرة ثاقبة لهذا؟ شكرا لك مقدما.

هل كانت مفيدة؟

المحلول

أود أن أقول إن تناول كل من وحدات تحكم (عامة واحدة، ومسؤول واحد) هو الحل الأفضل.

الآن ما يمكنك فعله هو الحصول على كل من وحدات التحكم في استدعاء نفس الطريقة التي تقوم بها الإجراءات ذات الصلة في الإجراءات.

class MyController < ApplicationController
  def show
    MyModel.do_all_sorts_of_stuff
  end
end

class Admin::MyController < ApplicationController
  def show
    MyModel.do_all_sorts_of_stuff
    # Admin only stuff goes here
  end
end

نصائح أخرى

كما قال مات، ولكن يمكنك أيضا القيام بذلك:

class MyController < ApplicationController
  def show
    MyModel.do_all_sorts_of_stuff
  end
end

class Admin::MyController < MyController
  def show
    super
    # Admin only stuff goes here
  end
end

هذا يعني أنه يمكنك التركيز فقط على الحالات الأكثر تخصصا للمسؤول :: MyController بدلا من رمز التكرار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top