加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在yaml文件中传递变量

发布时间:2020-12-17 02:29:00 所属栏目:百科 来源:网络整理
导读:我喜欢使用i18n和yml.我想要我自己的yaml文件做类似的事情.那就是访问yaml文件中的变量.像这样的东西 name: address: "%{city} %{street}" 添加变量可以传递类似some_method(‘name.address’,:city =’my city’,:street =’my street’) 在i18n我们可以
我喜欢使用i18n和yml.我想要我自己的yaml文件做类似的事情.那就是访问yaml文件中的变量.像这样的东西

name:
  address: "%{city} %{street}"

添加变量可以传递类似some_method(‘name.address’,:city =>’my city’,:street =>’my street’)

在i18n我们可以做到

en:
 message:
  welcome: "Hello %{username}"

要打电话给我们,我们可以使用t(“message.welcome”,:username =>’admin’)

我该如何实现它?

解决方法

它在电话会议后取代.以身作则.

Yaml.load_file('locale/en.yml')['en']['message']['welcome'].gsub('%{username}',username)

所以在方法中它可以是:

def t(key,changes)
    result = yaml_locale['en']
    key.split('.').each |k|
      result = result[k]
    end
    changes.each_keys do |k|
      result.gsub!("%{#{k}}%",changes[k])
    end
    result
  end

稍后重构它,但想法就是这样.

原来的方法在这里:https://github.com/svenfuchs/i18n/blob/master/lib/i18n.rb#L143管理很多想我不要:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读