我是Rails和Spree的新手。我正在调查一个使用Spree的Rails项目。我碰到了这个
{
"entry": {
"main": [
"./scripts/main.js",
"./styles/main.scss"
],
"customizer": [
"./scripts/customizer.js"
]
},
"publicPath": "/wp-content/themes/my-theme",
"devUrl": "http://test.local",
"proxyUrl": "http://localhost:3000",
"cacheBusting": "[name]_[hash:8]",
"watch": [
"app/**/*.php",
"config/**/*.php",
"resources/views/**/*.php"
]
}
但是无法找到它的实际作用。 请帮忙吗?
答案 0 :(得分:1)
大约是I18n。看到这个guide
答案 1 :(得分:0)
您在工具箱中使用的第一个工具并不是很有帮助。例如,在 Spree 存储库中使用 ripgrep:
git clone https://github.com/spree/spree.git
cd spree
rg "def t\b"
# no results ...
您可以尝试搜索alias 和alias_method;但是,缩小搜索结果范围很烦人,因为该方法只有一个字符。
最好使用更高级的调试技术。请参阅 Aaron Patterson 的指南:I am a puts debuggerer
来自 rails 控制台的示例:
[2] pry(main)> Spree.method(:t).source_location
=> ["/bundle/ruby/2.7.0/gems/spree_core-4.1.8/lib/spree/i18n.rb", 12]
因此,Spree.t 是 Spree.translate 的别名,它继承自 ActionView::Helpers::TranslationHelper
您可以在此处找到文档和来源:
因此,Spree 只是对 Rails 的内置 translate 方法添加了一些增强功能,如果您查看 API 文档,该方法还有一个别名“t”。