YML由控制器和视图组织起来。我怎么能干我的YML文件?

时间:2013-08-30 20:16:23

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

ptbr:
  # Chaves de tradução comuns a muitas views
  views:
  defaults:
    sign_in: Login
  sessions:
    sign_in: Login now
    new:

假设我上面有yml。它不起作用,但我只是想表明我的问题。我正在通过控制器和视图组织我的语言环境文件。例如,我希望能够将sign_in键声明为任何控制器中任何视图的默认值。并且如果我再次声明它,则能够覆盖该值(使规则更具体)。在这种情况下,任何控制器中的所有视图都将t(.sign_in)理解为Login,除了会话控制器中的视图。知道如何实现这一点吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。最简单的方法是在@sign_in = t(default.sign_in)内宣布ApplicationController,并在SessionsController内覆盖@sign_in = t(sessions.sign_in)

这样,您可以为两者保留相同的视图模板。如果这改变了链接文本,它将如下所示:

<%= link_to @sign_in, sign_in_path ... %>

如果此文本仅显示在网站标题内,则另一种解决方案是为此会话视图呈现特定标题。虽然我觉得这很糟糕,但如果你只是想改变一个简单的文本字段。