开发者

Where to put code snippets in Rails?

I have this code snippets that generates a signature fo开发者_JAVA百科r POSTs. The detail of it is not important, but what I want to know is: since it is not a model-related chunk of code, it really can be use anywhere: in controllers, in models, in view helpers; even in views. So I am unsure where and, even bigger of a problem, how to activate the use of it once I place it in some location.

Is it what those "require" statements are all about? That you can acquire some functionality through a "require" statement in the current file you are working on?

Just so that we have an example to talk about, say, I have a little snippet of code that does cubing:

def cube_it(num)
  num**3
end

I know that I will be using it in various places across the application, so where should I put it? and when I do need to use it, how can I "summon" it?

Thank You


I would suggest putting your code inside a module named Math in lib/math.rb.

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

You don't need any require statements with this (rails does it for you) and you can easily call it with Math.cube_it("Hi").

There are other ways of adding code to a rails application, but this is the best way.


Rails autoloads modules and classes when they are first used. You can put your function into a module (or class) and put the file into the lib directory in your application. require statements aren't used in Rails apps often.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜