簡體   English   中英

使一組方法可用於多個Rails應用程序的最簡單方法是什么

[英]What is the simplest way to make a group of methods available to several Rails applications

TL;博士

我可以創建一個可以在許多應用程序中使用的視圖助手模塊的簡單方法是什么?

什么文件,位於哪里,加載怎么樣?

我在Rails 2.3.11上。


我有一堆視圖輔助方法。 以下是其中一個示例:

  # Render form input fields to add or edit a ZIP code.
  def render_zip_code_fields( model_instance )
    # Bla bla bla ...
  end

我有大約20年左右的時間,我已經開發了多年,經常用於各種應用程序。 我想將它們全部包裝在一個文件中,我可以直接進入應用程序,然后可以在我的視圖中調用它們。

為什么不將它們復制並粘貼到application_helper.rb 這對我來說感覺不對。 它似乎應該是一個單獨的文件。

事實上我嘗試在/lib創建...

# /lib/my_view_helpers.rb

module MyViewHelpers

  # ...

end

然后在application_helper.rb我把......

include MyViewHelpers

但是我得到了很多“未初始化的常量MyViewHelpers錯誤。可能是語法錯誤?我認為我不需要首先require my_view_helpers.rb因為它在/lib 。那里的所有內容都會被自動加載,對吧?

那么為簡單起見進行優化的正確方法是什么?

對不起,這么久。 我累的時候會變得冗長。

從Rails 3開始, /lib不再位於默認加載路徑上。 您需要將以下行放在config/application.rb中的Application類中。

config.autoload_paths += ["#{config.root}/lib"]

另一種方法是將文件放在app/helpers因為它畢竟是一個幫手。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM