Это мой первый вопрос по stackoverflow, он довольно общий, надеюсь, я смогу получить предложения здесь.
Я быстро создал приложение Rails3 только для администрирования, в основном используемое для задач ввода данных об обслуживании отопительных установок.,Он состоит из около 10 моделей, и я широко использовал скаффолдинг и вложение ресурсов для создания одного приложения с полным привилегированным пользователем (администратором).В основном это системная модель со многими дочерними моделями, и каждая система принадлежит оператору.
Теперь мне нужно, чтобы каждый оператор входил в систему и управлял своими собственными системами, - почти - точно так, как это может сделать пользователь-администратор,но ограничивая привилегии системами, принадлежащими этому оператору.
Теперь вопрос ... Должен ли я:
(1) фильтровать данные в сгенерированных скаффолдами контроллерах модели?
Например (не заботится о синтаксисе, просто чтобы дать идею):
def index
if session[:operator_id]
@operator = operators.find(session[:operator_id])
@systems = @operator.systems
else if session[:admin] == true
@systems = System.all
end
end
(2) Написать различные контроллеры для операторов, ограничивающих привилегии?
Замена сгенерированной каркасом структуры одной папкой для контроллеров администратора, например, с операторами System.all, а второй - для контроллеров операторов, например, с операторами @ operator.systems.
(3) Разделить на отдельные приложения?
Чтобы сохранить структуру, созданную скаффолдами?Вы говорите «НЕТ! НЕТ! НЕТ!», Верно?
(4) Надеетесь получить лучшее предложение от опытных пользователей stackoverflow?
Спасибо всем ...