ruby-on-rails - Rails 2.2 中可重用辅助方法的最佳位置

标签 ruby-on-rails ruby

我计划创建一种方法,以特定方式(俄语专用格式)格式化时间。

我想在多个模型、 Controller 和可能的 View 中重用这个辅助方法。我还想在 Time 类的实例上调用这个辅助方法,如下所示:

t=Time.now
t.my_super_shiny_helper

问题:我应该在哪里实现这个助手? (模块或类,在应用程序目录结构中的什么位置?)。创建好后,应该怎么调用呢?

我是 ruby​​/rails 的新手,很难让它以正确的方式工作。

谢谢。

最佳答案

我会添加一个文件到 lib/time_extensions.rb

class Time
  def my_shiny_helper
    ...
  end
end

并且在 config/intitializers 的初始化文件中

require 'time_extensions'

如果扩展有点增长并且是您想重用的东西,请考虑将其放入插件中以便于包含。甚至是 gem 。

关于ruby-on-rails - Rails 2.2 中可重用辅助方法的最佳位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/557898/

相关文章:

Ruby 转义 HTML 字符串

ruby - 由 fire bug 生成的 xpath 中的 Tbody 标记

html - 如何将参数从一个渲染器传递到另一个渲染器以在模板中加载特定内容

ruby-on-rails - 我如何判断 ActiveRecord 对象是否会在实际销毁之前被销毁?

ruby - 警告 : already initialized

ruby - 如何在 has_many 关联中使用 Lambda

ruby - 在 Sinatra 之上构建 MVC 结构

ruby-on-rails - 在 Rails 中使背景宽度为 100%

ruby-on-rails - 对于存在的路由,为什么我会得到 'no route matches' ?

ruby-on-rails - 第 8 章 ruby​​tutorial - NoMethodError : undefined method `forget' for nil:NilClass