问题标签 [mobility]

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.

0 投票
1 回答
483 浏览

ruby-on-rails - 如何为移动性设置默认后备?

我在 Mobility 的 Github 文档中看到,可以为 Mobility 设置默认后备。我正在尝试这样做:

但是当我启动 Rails 控制台时,它会给我一个 no method 错误:

我怎样才能使这项工作?

0 投票
1 回答
388 浏览

ruby-on-rails - 如何在 Rails 中使用 Mobility gem 以一种形式实现所有翻译?

在我的 Rails 应用程序中,我使用Mobility gem进行翻译

如何构建包含所有翻译的表单,例如:

  • 姓名 [zh]: _______
  • 姓名 [fr]:________
  • 姓名 [de]: _______
  • ...

什么是最好的方法?

0 投票
1 回答
47 浏览

mobility - 更新 Mobility gem

我想更新移动宝石。

从 v0.1.10 更新到 v0.3.6 时是否有任何已知问题/需要的步骤,或者是否可以在不需要任何进一步步骤的情况下进行更新?

0 投票
2 回答
66 浏览

ruby-on-rails - 访问“real_field_non_translated”?- 流动性

有没有办法通过 ActiveRecord 访问“real_field”(比方说)?

例如。如果我有一个 Model Company 并使用Company.create(name: "My Company Name")(with I18n.locale = :en),则该名称值不会保存在 Company 记录中,而是保存在字符串的 Mobility 表中。

这样做Company.last会返回

#<Company id: 5, name: nil>

但是这样做Company.last.name会返回我的公司名称(假设语言环境设置正确)

有没有办法做这样的事情Company.last.real_name会给我记录的实际价值?在这种情况下为零。我也想拥有一个real_name=

移动性 (0.4.2) i18n (>= 0.6.10, < 0.10) request_store (~> 1.0)

后端:key_value

0 投票
1 回答
687 浏览

ruby-on-rails - 无法使用 Mobility 通过 Rails 中的翻译列排序

此问题基于发布到 Mobility GitHub 项目的问题。

语境

  • 导轨:5.0.6
  • 移动性:0.4.2(带表后端)

我正在使用支持多种文章类型(例如,博客文章、案例研究、知识库文章)的文章表。此表包含一个用于跟踪文章被查看次数的列 - 一个整数列,每次show为文章调用操作时递增。

在实现这些文章的翻译时,我想单独跟踪每个翻译的视图数量,而不是主要文章对象。为了实现这一点,我将该views属性作为对象的翻译属性之一包含在内:

预期行为

在我的控制器中,我想列出查看次数最多的前十篇文章,这些文章是通过以下查询获得的:

我希望收到一系列文章,就像我在实施 Mobility 之前所做的那样。

实际行为

我得到的是#<Article::ActiveRecord_Relation:0x233686c>. 如果我然后尝试将其转换为带有 的数组@top_articles.to_a,我会收到此错误:

将查询更改为包括i18n

...返回#<#<Mobility::Backends::ActiveRecord::Table::QueryMethods:0x00000000050a86d8>:0x286c3e0>,当我尝试将其转换为数组时,我得到了同样的结果:

事实证明,虽然 Mobility 支持在where子句中使用翻译字段,但它目前不支持在orderActive Record 查询的子句中使用它们。

变通方法尝试

1.引用order子句中的翻译表

根据 gem 作者的反馈,我尝试了以下查询:

...返回一个#<#<Mobility::Backends::ActiveRecord::Table::QueryMethods>>对象,并to_a返回此错误:

2.为翻译表添加joinsor子句includes

此查询再次返回一个#<#<Mobility::Backends::ActiveRecord::Table::QueryMethods>>对象,并to_a导致:

3.添加has_many :article_translations到模型

向模型添加关系会引发此错误:

所以……</h2>

接下来我应该尝试什么?

0 投票
1 回答
103 浏览

ruby-on-rails - 仅使用 Mobility 将翻译结果范围限制为当前语言环境

如何将查询的结果集限制为具有当前语言环境(或回退)翻译的记录,同时忽略任何没有的记录?

例如,给定一个语言环境:fr,我只想Article.all返回有法语翻译的文章:'fr-FR'- 我想返回任何翻译语言环境为:'fr-FR'or的记录:fr的记录,但没有其他记录。

Article.joins(:translations).where(article_translations: { locale: [I81n.locale] })适用于单个位置,但是后备呢?

0 投票
1 回答
388 浏览

ruby-on-rails-5 - 在 Rails 应用程序中使用 Mobility 为模型翻译设置固定装置

如何使用 Mobility 在 Rails 应用程序中为模型翻译设置固定装置?

目前,我有以下目录结构:

ActiveRecord::Fixture::FixtureError: table "article_translations" has no column named "article".在尝试运行测试时得到。

使用 Globalize gem,我可以将密钥translations.yml从更改articleglobalized_model,但这不适用于 Mobility。

0 投票
1 回答
141 浏览

ruby-on-rails - 使用 Mobility 从 Rails 项目中的模型中删除单个翻译

我正在将一个 Rails 项目从 Globalize 迁移到 Mobility。translation使用 Globalize,我可以通过以下方法访问当前翻译:

我主要在管理模型的翻译以删除特定翻译时使用它:

使用 Globalize,对于每个对象,我都会获得翻译列表并为每个对象创建一个删除按钮:

我使用通过链接传入的语言环境来删除相应的翻译:

是否有从具有多个翻译的模型中删除单个翻译的直接方法?

0 投票
1 回答
326 浏览

ruby-on-rails - 使用 JSONB 和 Mobility 的自定义编写器和访问器

移动版本:0.4.2 / Rails 版本:5.2.0.rc1

在使用 Mobility 的 Rails 应用程序中,我的模型结构如下所示:

我的模型看起来像这样:

在值列中,我保存了多个值设置,例如:

Setting.create(values: { setting_1: 'test', setting_2: 'test2' })

在此之前,Mobility 正在按预期工作,并将哈希保存在正确的语言环境中。

但现在我想为其他开发人员提供方便的方法来写入和读取值,例如:

和阅读方法:

Setting.last.setting_1 => 'test'

我已经尝试过使用store_accessor自定义访问器,甚至使用自定义访问器,但我无法使用store_accessor或其他自定义方法正常工作。

有什么帮助吗?


移动配置:

0 投票
1 回答
712 浏览

android - 设备策略控制器 (DCP) 应用程序和系统应用程序有什么区别?

Android DPC 应用程序和系统应用程序的权限有什么区别吗?系统应用程序是否能够执行 DPC 可以执行的所有功能,例如将设备设置为单机使用模式?