gpt4 book ai didi

ruby-on-rails - 使一组方法可用于多个 Rails 应用程序的最简单方法是什么

转载 作者:行者123 更新时间:2023-12-04 18:24:41 25 4
gpt4 key购买 nike

tl;博士

有什么简单的方法可以创建可以在许多应用程序中使用的 View 助手模块?

什么文件,位于何处,如何加载?

我在 Rails 2.3.11 上。

我有一堆 View 辅助方法。这是其中之一的示例:

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

我有大约 20 个左右,我多年来开发并经常用于各种应用程序。我想将它们全部包装在一个文件中,我可以将其放入应用程序中,然后可以在我的 View 中调用它们。

为什么不将它们复制并粘贴到 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不再在默认加载路径上。您需要将以下行放入 Application类(class) config/application.rb .

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

另一种方法是将文件放在 app/helpers 中。毕竟是 helper 。

关于ruby-on-rails - 使一组方法可用于多个 Rails 应用程序的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6076150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com