ROR создание автономных компонентов - PullRequest
0 голосов
/ 10 сентября 2011

В моем веб-приложении у меня есть модель User. Довольно часто вам нужно выбирать пользователей для разных целей, связанных с разными моделями. Моя цель - сделать этот компонент очень простым и быстрым для установки на новом месте. Например. если пользователь хочет выбрать своих друзей, результат выбора должен обрабатываться контроллером пользователя, но если вы хотите назначить некоторых пользователей для задачи, это должен обрабатывать контроллер задачи.

Есть ли у вас какие-либо идеи, как это сделать? Должен ли я сделать другой контроллер для выбора? Как передать выбор подходящему контроллеру? Может быть сессией? У вас есть другие предложения?

1 Ответ

0 голосов
/ 10 сентября 2011

Я думаю, что вы ищете модуль, который имеет общие методы.Если это так, вы можете сделать что-то вроде:

Создайте модуль с именем Users и добавьте к нему методы и сохраните его в вашей папке lib

Пример:

<app root>/lib

module User
  def friends
    <returns the given users friends>
  end  
end

и тогда вы можете вызывать этот модуль как на ваших контроллерах, так и на моделях

Пример:

Class Friend
  include User
end

Class FriendsController < ApplicationController
  include User
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...