在我的 haml 文件中,我想在来自 yml 文件的字符串中包含一个 link
In my haml file, I want to include a link within a string that is coming from a yml file
这是我的情况:
我的 haml 文件中有这个,...这是一个开始:
.image-credits
%div
%h2
= t(:image_credits)
%ul
%li
%p
= t(:photographer_1)
然后在我的 yml 文件中定义了这些字符串:
image_credits : "Image Credits"
photographer_1 : "\"Miss Kitty\" by Mike Henderson"
photographer_1_link : "https://www.flickr.com/photos/mikehenderson/3750940230"
理想情况下,如果它被渲染成这样,我会喜欢它:
Miss Kitty”迈克·亨德森
关于如何做到这一点有什么建议吗?我一直在谷歌上搜索,但我不认为我在寻找正确的东西。
你需要做两件事:
- 您的
photographer_1
字符串需要呈现为 HTML,您通过将 _html
附加到键来向 Rails 发出信号(所以现在是 photographer_1_html
(http://guides.rubyonrails.org/i18n.html#using-safe-html-translations)
- 您需要向该键传递一个参数,即您要插入的 link。因为 link 在所有语言环境中都是相同的,所以 link 可以在您的 HAML 中。参数在
t()
方法中作为选项传递。
所以你最终得到:
# in en.yml
photographer_1_html : "<a href='%{link}'>\"Miss Kitty\" by Mike Henderson</a>"
# in yourview.html.haml
= t(:photographer_1_html,
link:"https://www.flickr.com/photos/mikehenderson/3750940230")
这是我的情况:
我的 haml 文件中有这个,...这是一个开始:
.image-credits
%div
%h2
= t(:image_credits)
%ul
%li
%p
= t(:photographer_1)
然后在我的 yml 文件中定义了这些字符串:
image_credits : "Image Credits"
photographer_1 : "\"Miss Kitty\" by Mike Henderson"
photographer_1_link : "https://www.flickr.com/photos/mikehenderson/3750940230"
理想情况下,如果它被渲染成这样,我会喜欢它:
Miss Kitty”迈克·亨德森
关于如何做到这一点有什么建议吗?我一直在谷歌上搜索,但我不认为我在寻找正确的东西。
你需要做两件事:
- 您的
photographer_1
字符串需要呈现为 HTML,您通过将_html
附加到键来向 Rails 发出信号(所以现在是photographer_1_html
(http://guides.rubyonrails.org/i18n.html#using-safe-html-translations) - 您需要向该键传递一个参数,即您要插入的 link。因为 link 在所有语言环境中都是相同的,所以 link 可以在您的 HAML 中。参数在
t()
方法中作为选项传递。
所以你最终得到:
# in en.yml
photographer_1_html : "<a href='%{link}'>\"Miss Kitty\" by Mike Henderson</a>"
# in yourview.html.haml
= t(:photographer_1_html,
link:"https://www.flickr.com/photos/mikehenderson/3750940230")