从rails中读取YML中的数组

时间:2015-04-30 16:55:57

标签: ruby-on-rails-4 yaml

我在YML本地化文件中有一个数组:

en:
  difficulty:
    0: "Difficulty"
    1: "Beginner"
    2: "Intermediate"
    3: "Advanced"

如何在视图模板中读取此数组中的值?例如,我可以从db获得1或2,我想在erb文件中获取1(初学者)或2(中级)的值,并将其显示给用户。

1 个答案:

答案 0 :(得分:0)

在Rails和Erb中:

<%= t('difficulty')[1] %>

会产生

Beginner

所以替换&#39; 1&#39;使用数据库中的值。您可能会将其设置为控制器中的实例变量(例如@difficulty = 1@difficulty = current_user.difficulty)。

注意您已经创建了Hash,而不是Array。但由于您使用了整数键,因此访问它们的方法是相同的。 YML中的数组表示为:

en:
  difficulty:
    - Difficulty
    - Beginner
    - Intermediate
    - Advanced

请注意,您可能希望将其重写为:

en:
  difficulty:
    -
    - Beginner
    - Intermediate
    - Advanced

因为您似乎并不打算使用0的难度。