2009-02-17 59 views
3

我計劃創建一種方法,以特定方式格式化一個Time(俄語專用格式)。Rails 2.2中可重複使用的幫助程序方法的最佳位置

我想在多個模型,控制器和可能的視圖中重用此輔助方法。此外,我想喜歡以下方式調用此helper方法對時間類的實例:

t=Time.now 
t.my_super_shiny_helper 

問:我應該在哪裏實施這個幫手? (模塊或類,在應用程序目錄結構中?)。創建完成後,我應該如何調用它?

我是ruby/rails新手,很難以正確的方式工作。

謝謝。

回答

9

我想如果擴展成長一點,是要重用把它變成的覺得有什麼文件添加到lib/time_extensions.rb

class Time 
    def my_shiny_helper 
    ... 
    end 
end 

而在初始化文件中config/intitializers

require 'time_extensions' 

一個易於包含的插件。甚至是寶石。

4

如果你只是想格式化時間,在鐵軌(如敏捷Web開發給出)乾淨的方法是擴大在to_s方法所使用的格式:

ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!( 
    :russian => "%A %d %B %Y" 
) 

Time.now.to_s(:russian) #=> "Tuesday 17 February 2009" 

包括在第一位任config/environment.rb或在config/initializers的文件中。