如何避免 Globalize3 将属性的回退翻译返回到特定上下文?

2023-11-28

我正在使用 Globalize3 和 easy_globalize_accesors 进行网站的国际化/本地化,现在我正在调整表单来管理具有可能翻译的字段。 假设我有一个名为 Role 的类:

class Role  
  translates :name, :fallbacks_for_empty_translations => true
  # rest of class definition

我这样做是因为我想在当前语言环境中没有翻译或为空时显示默认翻译,并且这按预期工作。
但是,在我的表单中,我想要相反的情况:我希望每个引用与默认区域设置不同的区域设置的输入不显示任何值,除非 role_translations 表中存在该属性的值。以下是我创建输入的方法:

<%= textfield 'role', "name_#{locale}", :class => ... %> 

目前,如果我创建了一个仅包含默认语言环境翻译的新角色,那么当我想要编辑该角色以将翻译添加到其他语言环境时,每个输入都会向我显示默认翻译的值。
提前致谢


您可以在模型中实现此方法:

  def read_translated_attribute(name)
    globalize.stash.contains?(Globalize.locale, name) ? globalize.stash.read(Globalize.locale, name) : translation_for(Globalize.locale).send(name)
  end

然后,您只需要在表单中显式设置输入值,如下所示:

<%= text_field 'role', "name_#{locale}", :value => @role.read_translated_attribute(:name), :class => ... %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免 Globalize3 将属性的回退翻译返回到特定上下文? 的相关文章

随机推荐

  • 在我想要等待的方法上得到 Cannot wait void

    我所在的团队正在编写 WPF 应用程序 我们必须做到这一点 以便当用户隐藏 显示不同的列时 它会在视图之一的 ReportViewer 控件中反映出来 在测试中我们发现将数据添加到ReportViewer的数据源需要很长时间 有时大约几秒钟
  • 使用 Android 访问 Gmail API

    我正在尝试使用 Android 应用程序访问 Gmail API 我已使用所有可用范围组合成功请求并收到访问令牌 但似乎每次我实际尝试使用 Gmail API 命令时 我都会得到一个403 exception reading Access
  • Rails / javascript:“参数键太多” - 规范化表单数据的好方法是什么?

    我正在使用 Rails 3 1 3 我有一个包含很多字段的表单 提交表单后 我收到此错误 ERROR RangeError exceeded available parameter key space home james rvm gems
  • ngGrid 对整个结果集进行排序

    我想在ngGridSorted事件 通过单击的排序功能对整个结果集 不仅仅是页面 进行排序 是否有捷径可寻 除了用户当前所在的页面之外 我还没有看到如何对任何内容进行排序的好示例 事实上 您只需使用服务器端分页选项 而无需实际拥有服务器端代
  • 我如何返回承诺内的状态?

    我开始用loopback和jsforce学习promise 但无法处理这个问题 我无法将承诺内的状态变量返回给 cb 函数 基本上我想连接 salesforce 并通过 JSforce 获取数据并通过环回将其写入数据库 然后想要在远程调用后
  • Java,使用 Scanner 进行 try-catch

    我正在创建一个小算法 这是其中的一部分 如果用户输入非整数值 我想输出一条消息并让用户再次输入数字 boolean wenttocatch do try wenttocatch false number of rigons sc nextI
  • 设备上禁用 Paypal MPL 登录按钮

    我已经解决了几个类似问题的问题 但找不到任何解决方案 我已按照在沙盒模式下工作的步骤进行操作 在遵循代码后 我得到了 paypal 窗口 PayPal getPayPalInst checkoutWithPayment payment 在贝
  • 使用 Jenkins 和 Apache Ant 运行 QUnit 测试?

    是否可以从 Jenkins 执行我的 QUnit javascript 单元测试 我的构建脚本是 Apache Ant Jenkins 是否会将其作为单独的构建步骤执行 或者我是否需要在 Ant 构建脚本的配置中添加某些内容 所以 我终于设
  • 如何使用 PyCharm 保留远程 Python 解释器的环境变量

    我正在使用通过 ssh 访问的远程 Python 解释器 使用 pew 创建的虚拟环境 当手动 ssh 到服务器并使用解释器时 这工作正常 但是 当使用 PyCharm 调用它时 它会忘记我在 bashrc 中导出的环境变量 当通过 ssh
  • Istio 授权策略不适用于子网关

    我想要实现的目标 阻止到服务的所有流量 包含在与服务相同的命名空间内处理此问题的代码 Why 这是将特定服务 锁定 到特定 IP CIDR 的第一步 我有一个名为的主要入口 GWistio ingressgateway适用于服务 kubec
  • LINQ 扩展方法不适用于 EnumerableRowCollection

    我有以下代码行 var availableClients Controller ListClientsForCurrentUser as DataTable AsEnumerable 我想利用 LINQ 的扩展方法 MSDN like An
  • C++ 赋值运算符 - 编译器生成还是自定义?

    我有一个中等复杂的 C 类 它保存从光盘读取的一组数据 它包含浮点数 整数和结构的折衷组合 现在已得到普遍使用 在主要代码审查期间 有人问我们是否有自定义赋值运算符 或者我们依赖编译器生成的版本 如果有 我们如何知道它正常工作 好吧 我们没
  • matplotlib 无法在 Windows 10 上加载 ft2font

    我正在使用 Anaconda 5 0 1 和 Python 2 7 14 当我打开 jupyter 笔记本并尝试运行以下命令时 matplotlib inline 我收到以下错误 ImportError Traceback most rec
  • 当一个 ng-repeat 项目被移除时,如何为剩余 ng-repeat 项目的移动设置动画?

    我有一个使用 ng repeat 的动态项目列表 当发生某些事情时 物品可能会消失 我已经使用 ng animate 顺利地处理了这些项目的移除动画 但在它们消失后 剩余的项目只是简单地捕捉到它们的新位置 我怎样才能顺利地制作这个动作的动画
  • VSTS(Azure Devops) 的“ssh -T”身份验证成功,但“git clone”失败

    我最近创建了第二个密钥来访问 Visual Studio Team Services ssh keygen t rsa b 4096 C email protected 所以我现在有两把钥匙 id github id vsts 两个密钥似乎
  • 水平对齐图像 CSS

    我想水平对齐我的三个图像而不是垂直对齐 实现此目的最简单的方法是什么 example div div img src http lilliemcferrin com wp content uploads 2013 09 vivid flow
  • Valgrind 报告一个非常简单的 C 程序的错误

    我正在学习C语言艰难地学习 C 我上线了练习6虽然我可以让它工作 但 valgrind 报告了很多错误 这是从文件中剥离的最小程序ex6 c include
  • 检查 GCM 消息的状态

    我正在尝试使用 GCM 向我的手机发送消息 我收到一条消息 id 0 回复 但我的手机没有显示任何消息 有没有办法检查消息的状态 已发送 等待等 没有 如果您收到 message id xxxx 响应 则 GCM 服务器已接受您的请求并将尽
  • 在 NativeScript 上获取本地 json 文件

    如何获取本地的大json数据 我已经尝试过这个 但没有成功 var sa require shared resources sa json var array new observableArrayModule ObservableArra
  • 如何避免 Globalize3 将属性的回退翻译返回到特定上下文?

    我正在使用 Globalize3 和 easy globalize accesors 进行网站的国际化 本地化 现在我正在调整表单来管理具有可能翻译的字段 假设我有一个名为 Role 的类 class Role translates nam