【问题标题】:Where can I find Spree.t method definition or documentation在哪里可以找到 Spree.t 方法定义或文档
【发布时间】:2019-04-30 15:57:41
【问题描述】:

我是 Rails 和 Spree 的新手。我正在调查一个使用 Spree 的 Rails 项目。我遇到了这个

Spree.t(:num_orders)

但找不到它的实际作用。 请帮忙?

【问题讨论】:

    标签: ruby-on-rails spree


    【解决方案1】:

    大约是 I18n。看到这个guide

    【讨论】:

    • 如果有人找到了在 spree 代码库中是否/在哪里定义的,我也想知道。即使它只是一个别名定义。谢谢。
    【解决方案2】:

    您在工具箱中找到的第一个工具并不是很有帮助。例如,在 Spree 存储库中使用 ripgrep

    git clone https://github.com/spree/spree.git
    cd spree
    
    rg "def t\b"
    # no results ...
    

    您可以尝试搜索aliasalias_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]
    

    打开此文件并查看 第 12 行

    所以,Spree.tSpree.translate 的别名,它继承自 ActionView::Helpers::TranslationHelper

    您可以在此处找到文档和来源:

    因此,Spree 只是为 Rails 的内置 translate 方法添加了一些增强功能,如果您查看 API 文档,该方法也有别名“t”。

    【讨论】:

      猜你喜欢
      • 2018-11-06
      • 2020-08-15
      • 2013-09-04
      • 2018-02-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2022-10-12
      相关资源
      最近更新 更多