在我的Rails 4应用程序中,我使用辅助类为UI元素生成JSON树。以下是该类的简化版本:
class TaxonomyTree
def initialize(root_node)
@root_node = root_node
@deprecation_marker = t(:deprecated)
end
# Method for generating the JSON tree which use @deprecation_marker ...
end
我的语言环境中的相应条目如下所示:
en:
deprecated: deprecated
出于某种原因,在初始化实例后,@ devation_marker包含<p>deprecated</p>
而不是预期的deprecated
。 <p>
来自哪里?我怎么能摆脱它?
PS:我猜它与从视图中实例化的事实有关(我知道这不是最优的)。但是,这种行为什么时候才能成为可取的呢?
答案 0 :(得分:2)
对于所有面临类似问题的人,在我的情况下,它是由Redcloth gem引起的,它还定义了ER::Util#textilize
的别名。因此,我对t(:deprecated)
的电话实际上并未使用I18n.t
。
解决方法很简单,而不是t(:deprecated)
我现在使用I18n.t(:deprecated)
。