Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 有可能干掉yaml吗?_Ruby On Rails 4_Yaml_Dry_Cross Reference - Fatal编程技术网

Ruby on rails 4 有可能干掉yaml吗?

Ruby on rails 4 有可能干掉yaml吗?,ruby-on-rails-4,yaml,dry,cross-reference,Ruby On Rails 4,Yaml,Dry,Cross Reference,我使用Rails的4.1.4 YAML语言环境文件来存储一些翻译,例如: en: words: en: passport: "passport" ticket: "ticket" train: "train" de: words: en: passport: "passport" ticket: "ticket" train: "train" 有了它,我可以使用t(“words.{to_langua

我使用Rails的4.1.4 YAML语言环境文件来存储一些翻译,例如:

en:
  words:
    en:
      passport: "passport"
      ticket: "ticket"
      train: "train"
de:
  words:
    en:
      passport: "passport"
      ticket: "ticket"
      train: "train"
有了它,我可以使用
t(“words.{to_language}.train”)
为选择英语作为其
to_language
的德语用户(I18n.locale==:de)返回
train

我的问题是:有没有办法我不能重复我自己,并有类似下面的代码

en OR de:
  words:
    en:
      passport: "passport"
      ticket: "ticket"
      train: "train"
也许我可以将单词的所有内容分配给一个变量,然后只需执行以下操作:

en:
  all_words
de:
  all_words
谢谢

所有单词:&所有单词
话:
嗯:
护照:“护照”
票:“票”
火车:“火车”
嗯:
是的,YAML允许你这么做。特别是,Ruby的YAML有一个称为a的非标准代码,它在您的特定情况下非常有用

例如,如果您有,请说:

base_fruits: &default # Alias the keys here into `default`.
  apple: one
  banana: two
那你就可以了

fruit_basket_one:
  <<: *default        # Include all the keys from the alias `default`.
  coconut: three      # Add another key too.

fruit_basket_two:
  <<: *default
  durian: five
  pear: six
果篮一个:
fruit_basket_one:
  <<: *default        # Include all the keys from the alias `default`.
  coconut: three      # Add another key too.

fruit_basket_two:
  <<: *default
  durian: five
  pear: six
en:
  words:
    en: &all_en_words
      passport: "passport"
      ticket: "ticket"
      train: "train"

de:
  words:
    en:
      <<: *all_en_words
      custom_word: "custom translation"