Код, совместно используемый несколькими контроллерами и моделями - где лучше всего его хранить? - PullRequest
3 голосов
/ 16 июля 2010

Так что это вопрос проектирования рельсов для новичков.Допустим, я хочу, чтобы некоторые из моих общих функций находились в наборе вспомогательных классов (в качестве методов класса или методов экземпляра).

И я хочу использовать эти вспомогательные объекты внутри контроллера (не view) или дажеможет быть моделью.могу ли я сделать это?как?Должен ли это быть модуль или класс, или это может быть что угодно?

Есть ли для этого рельсы?

1 Ответ

4 голосов
/ 16 июля 2010

Если они не привязаны к одному из трех уровней, вы должны поместить их в каталог / lib.

Соглашение в / lib гласит, что вы должны называть свои папки как модули, а также файлы и классы и всегда пытаться инкапсулировать ваше дополнительное поведение в модулях. Допустим, у вас есть класс

module MyModule

  class MyHelperClass
  end

end

Вы должны поместить его в /lib/my_module/my_helper_class.rb

...