ruby-on-rails - 是否可以从 haml 文件中访问模块?
问题描述
我想将我的助手分类到子模块中,以使代码更清晰。例如,我想实现这样的东西:
= UI.spawn_component(UI.alert, UI.error, "message")
我已经尝试在我的帮助模块中创建一个模块,如下所示:
module StyleguideHelper
module UI
def spawn_component(user, type)
return user
end
end
end
而且我还尝试在不同的文件中创建模块,并从我的帮助文件中要求它。这两个都没有用。
解决方案
首先,确保文件命名正确,以便自动加载正常工作。如果调用模块,StyleguideHelper
则文件必须命名为 styleguide_helper.rb
. app/helpers
除非您设置了用于自动加载的库,否则我会将这个文件放入其中。在该文件中定义您的模块,如下所示:
module StyleguideHelper
module UI
def self.spawn_component(user, type)
return user
end
end
end
然后,您应该能够在您的视图中使用帮助程序,如下所示:
= StyleguideHelper::UI.spawn_component(user, type)
推荐阅读
- c# - 在 C# 中显示来自 CRM 的 5000 多条记录
- android - 使用签名的 apk 升级时未安装应用程序
- arrays - 用于 Numpy 对象数组的 Pycharm 类型提示
- python - 如何从另一个数组的值中获取一个 numpy 数组(Python)
- node.js - 我无法在 Angular 中使用 emailjs 发送电子邮件
- javascript - 无法在未安装的组件主题提供程序上执行 React 状态更新
- cucumber - 按空手道示例表的行号过滤场景大纲
- wpf - IdownloadHandler 在 WPF Cefsharp 浏览器中不起作用
- python - 如何将结果从注释收集到数组中?
- react-native - 使用 npm install -g expo-cli 安装 react native expo 的问题