问题标签 [globalize3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 找不到没有 ID 的类别
在我使用globalize3 gem 对我的应用程序进行全球化后,我遇到了这样的错误。在此之前它运行良好。正因为如此,我将所有类别翻译成 3 种不同的语言。而此时它找不到该类别。因为我在链接中使用该类别名称。因此,如果有 3 个类别,则每次都应对应于该类别。但事实并非如此。这是我的代码。
我的应用程序布局
我的路线文件
*产品_控制器*
如果您需要其他代码,请询问我。我已经在这里困了两天了:(
ruby-on-rails - form_for 混合 id 和 locale 参数
我正在尝试让 Globalize3 在我的应用程序上运行。我有博客文章的玩具项目,我想翻译。
我的网址如下所示:localhost/en/posts
localhost/fr/posts
这是我在我的ApplicationController
我使用相同form_for
的方法来创建和更新帖子。这是查看代码:
当我转到/new
页面时它工作正常,这是控制器代码:
但是当我尝试使用 url 编辑帖子时/en/posts/1/edit
,它会混合传递给form_for
. 那是错误信息:
没有路由匹配 {:action=>"show", :controller=>"posts", :locale=>#, :id=>nil, :format=>nil} 缺少必需的键:[:locale, :id]
我的问题是:为什么要这样做,我该如何解决?
我已经尝试过一些事情,比如将form_for
声明更改为:
<%= form_for(@post, url: {action: 'show', id: @post, locale: params[:locale]} ) do |f| %>
所以它适用于update
但不适用于new
因为我的帖子没有id
所以,是的,如果我可以避免这样做,我真的不想使用 2 个表单来创建和更新。有没有这样做的好方法?
编辑:
这是我的耙子路线
ruby-on-rails - Globalize3 和创建所有语言的对象
我有一个名为 Menu 的模型,它具有属于它的 product_types。
创建菜单后,我想设置一些默认的 product_types:
我有这个常数:
这应该会创建翻译,但我现在收到一个错误消息:
“除非保存父级,否则您不能调用创建”
菜单可以有 3 种语言(用户可选择),用户也有默认语言。此默认语言可以是荷兰语、英语或法语。因此,荷兰语用户可以使用荷兰语和法语的菜单语言。
我之前也尝试过的代码(没有给出错误消息)是:
这个过程的问题是:假设用户的默认语言设置为荷兰语,并且菜单的语言也设置为荷兰语(没有其他语言)。然后默认创建的类型以英文显示...
ruby-on-rails - Rails 动态字段添加(多语言)
我有一组 2 个字段(标题、描述)和一些语言环境(英语、瑞典语)进行翻译。
当您访问该页面时,您只能看到英文设置字段。但是,用户必须能够提供额外的翻译(如果他愿意)。为此,我使用“globalize3”和“batch_translations”(https://github.com/fidel/batch_translations)宝石。
语言选择就像下拉列表一样完成。选择一种语言后,新的字段集应显示在前一组的下方。
问题本身有点像 Ryan 在他的截屏视频中提到的问题:http ://railscasts.com/episodes/197-nested-model-form-part-2
但是,有一个主要区别 - 表格也必须翻译。
起初,我认为一切正常,将表单构建器引用传递给控制器的远程操作不会有任何问题,该操作负责使用选定的语言环境渲染部分并嵌入它。
但是,事实证明不可能通过 object_id 传递引用(垃圾收集器销毁它)。
然后我发现你可以在控制器中实例化 FormBuilder,如下所示:
如果我这样做,只有一阶字段有效,如下所示:f.text_field
但是,globalize3 和 batch_translations 使用的是nested_attributes:
并且由于某种原因(我认为是因为 view_context 不正确),系统抛出了一个错误:
这个问题有什么好的解决办法吗?谢谢!
ruby-on-rails - Globalize 和 Rails 4:兼容性状态
在我之前的一个问题(大约 2 个月前问)中,我试图将 Ruby on Rails 从版本 3.2.13 升级到 4.0.0,但没有成功,因为globalize3 ruby-gem 兼容性。今天我再次尝试升级,但没有成功,因为globalize3 ruby-gem 兼容性。
我尝试了在网上找到的所有可能的解决方案(即使是那些引用rails4 分支的解决方案),但没有一个对我有用:我得到的错误输出与我上一个问题中出现的那些一样。但是,正如您在此处阅读的那样,似乎有人(可能是幸运的)已经解决了兼容性问题。我不是一个“幸运”的人,因为我的目标是使用 Rails 4 添加的功能并且仍然使用 globalize3,所以我想知道是否有人成功运行 Rails 4 和 globalize3。如果是这样,他/她做了什么?
globalize3 和 Rails 4 的兼容性如何?
注意:我还在github 上打开了一个问题。
ruby-on-rails-3 - Rails:friendly_id 和 globalize 不检查翻译表是否存在冲突
我在我的 Rails 3.2.14 应用程序中使用friendly_id (4.10.1)和globalize (3.0.0) :
当我保存我的输入时,friendly_id 检查蛞蝓碰撞:
Friendly_id 应该page_translations
为此使用翻译表,因为pages
当您使用多个语言环境时,原始表中的条目有点随机。
这就是问题所在:friendly_id 仅识别一种语言/区域设置的 slug 冲突。
有谁知道如何更改查询以获得全面的全球化支持?非常感谢您!
ruby-on-rails - 如何避免 Globalize3 将属性的后备翻译返回到特定上下文中?
我正在使用 Globalize3 和 easy_globalize_accesors 对网站进行国际化/本地化,现在我正在调整表单以管理可能翻译的字段。假设我有一个名为 Role 的类:
我这样做是因为如果当前语言环境中没有翻译或为空,我想显示默认翻译,这可以按预期工作。
但是,在我的表单中,我想要相反的情况:我希望每个引用与默认语言环境不同的语言环境的输入不显示任何值,除非在 role_translations 表中有该属性的值。这是我创建输入的方式:
目前,发生在我身上的事情是,如果我创建了一个仅包含默认语言环境翻译的新角色,当我想编辑角色以将翻译添加到其他语言环境时,每个输入都会显示默认翻译的值。
提前致谢
ruby-on-rails - Rails 随机更改生产语言(Globalize3 和 Digital Ocean)
我正在构建一个 Rails 项目,一切正常,但由于某种原因,当我在我的 Digital Ocean VM 上部署它时,网站的语言在导航时会随机变化。
这是网站链接。 http://www.adimaxpet.com.br/
有没有我可以发布的代码片段来帮助你们更好地理解它?
我正在使用 rails 3.2.13、globalize3 和 activeadmin-globalize3。
我在 application.rb 设置了语言环境
ruby-on-rails - Friendly_id-globalize 'find() through' 关联未使用转换表
在 Rails 4 中:直接在我的模型上使用 find() 会生成一个查询,该查询在 page_translations 表中查找 slug:
当我通过关联使用查找时,没有使用翻译表。friendly_id 使用原始表代替。
在 Rails 3.2(friendly_id 4.0.10,globalize 3.0.0)中,它的工作方式如下:
另请参阅https://github.com/norman/friendly_id-globalize/issues/1。回购所有者@parndt 目前很忙。因此,任何让这个宝石工作的提示都将不胜感激。
ruby-on-rails - 为什么我在使用 Globalize、Unicorn 和 Rails 时出现堆栈级别太深的错误?
当我在 Gemfile 中替换这一行时
通过这个:
正如这里所建议的: https ://github.com/globalize/globalize ,我在启动 Unicorn 时遇到了这个错误
来自独角兽日志文件
我想我没有什么特别的。我已将此(如下)配置为将pt-BR回退到en,反之亦然,它在开发中与新的 globalize 一起工作(它不适用于 Globalize3)。但是,我已经在生产中评论了这些行,但错误仍然存在。
配置/应用程序.rb
配置/环境.rb
有什么建议吗?我将不胜感激任何可以找到问题的测试。