Ruby on rails Ruby哈希语法
我是ruby新手,正在尝试适应新的语法。 这是我参与的项目中的一行代码,在页脚上有一个简单的描述 这显示了本地公司的编号,但第二行的语法让我有点困惑Ruby on rails Ruby哈希语法,ruby-on-rails,ruby,syntax,haml,Ruby On Rails,Ruby,Syntax,Haml,我是ruby新手,正在尝试适应新的语法。 这是我参与的项目中的一行代码,在页脚上有一个简单的描述 这显示了本地公司的编号,但第二行的语法让我有点困惑 %dt Indonesia %dd{ itemprop: 'telephone' }= I18n.with_locale(:id) { t('meta.phone_number') } 所以{itemprop:'telephone'}只是一个将符号itemprop映射到值'telephone'的块,但是为什么在I18n.with_locale
%dt Indonesia
%dd{ itemprop: 'telephone' }= I18n.with_locale(:id) { t('meta.phone_number') }
所以{itemprop:'telephone'}只是一个将符号itemprop映射到值'telephone'的块,但是为什么在I18n.with_locale(:id)之间有“=”?它有什么作用?
另外,第三个块{t('meta.phone_number')}是I18n.with_locale(:id)的参数吗?
或者I18n.with_locale(:id)甚至是一个方法调用
我将感谢任何帮助。谢谢
:告诉Haml发出一个%dd
标记
:告诉Haml当前标记应该有一个值为{itemprop:'telephone'}
的属性telephone
itemprop
:告诉Haml将当前标记的文本内容设置为Ruby表示行的其余部分计算结果的内容=
:告诉Ruby在I18n.with_locale(:id){…}
上调用带有一个参数(符号I18n
)和一个块的方法:id
:告诉Ruby用一个参数(stringt('meta.phone\u number')
)调用meta.phone\u number
助手方法t
<dd itemprop="telephone">電話番号</dd>
電話番号
如果電話番号 是为
meta.phone\u number
注册的翻译,当前语言环境是日语。其中一半是HAML语法,而不是ruby/hash语法。实际上,你为什么不通读一遍呢?它将回答这些问题中的大多数。%dd标记用于描述描述列表中的术语/名称