Где разместить фрагменты кода в Rails? - PullRequest
5 голосов
/ 21 мая 2010

У меня есть этот фрагмент кода, который генерирует подпись для POST. Детали этого не важны, но я хочу знать следующее: поскольку это не кусок кода, связанный с моделью, его действительно можно использовать где угодно: в контроллерах, в моделях, в помощниках представлений; даже во взглядах. Так что я не уверен, где и, что еще важнее, как активировать его использование, когда я помещу его в какое-то место.

О чем все эти «требующие» утверждения? Что вы можете получить некоторые функциональные возможности с помощью оператора «require» в текущем файле, над которым вы работаете?

Просто, чтобы у нас был пример, чтобы поговорить, скажем, у меня есть небольшой фрагмент кода, который делает куб:

def cube_it(num)
  num**3
end

Я знаю, что буду использовать его в разных местах приложения, так где я должен его поместить? и когда мне нужно его использовать, как я могу его вызвать?

Спасибо

Ответы [ 2 ]

4 голосов
/ 21 мая 2010

Я бы предложил поместить ваш код в модуль с именем Math в lib/math.rb.

math.rb
module Math
  class << self
    def cube_it(num)
      num*3
    end
  end
end

Вам не нужны никакие операторы с этим требованием (rails сделает это за вас), и вы можете легко вызвать его с помощью Math.cube_it("Hi").

Существуют и другие способы добавления кода в приложение rails, но это лучший способ.

2 голосов
/ 21 мая 2010

Rails автоматически загружает модули и классы при их первом использовании. Вы можете поместить свою функцию в модуль (или класс) и поместить файл в каталог lib вашего приложения. require операторы не часто используются в приложениях Rails.

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