ruby 在draper装饰器中进行I18n懒惰查找

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 在draper装饰器中进行I18n懒惰查找相关的知识,希望对你有一定的参考价值。

MemberDecorator < ApplicationDecorator
  def friends
    t(".friends_gender") # key scope: 'member.friends_gender'
  end
end
class ApplicationDecorator < Draper::Decorator
  delegate_all

  private

  def translate(*args)
    key = args.first
    if key.is_a?(String) && (key[0] == '.')
      underscored_scope = self.class.name.gsub('Decorator', '').underscore
      args[0] = underscored_scope + key
    end

    I18n.translate(*args)
  end
  alias :t :translate

  def localize(*args)
    I18n.localize(*args)
  end
  alias :l :localize
end

以上是关于ruby 在draper装饰器中进行I18n懒惰查找的主要内容,如果未能解决你的问题,请参考以下文章

是否有用于在 Django 中实现视图模型装饰器 ala Draper 的库?

rspec 使用 draper Decorator 测试视图

如何为仅支持Ruby的项目向i18n添加可用的语言环境?

ruby Jekyll i18n过滤器

为啥 Angular AoT 不支持装饰器中的函数表达式?

Ruby on Rails i18n - 想要在模型中翻译自定义消息