问题标签 [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.
ruby-on-rails - Rails 使用 Mobility 和 ActionText 作为后端翻译富文本?
Mobility具有翻译 Rails ActiveRecord 字符串和文本的语法:
另一方面,这里是使用ActionText声明富文本的语法:
如何将这些结合起来使用 Mobility 有效地翻译富文本?理想情况下,我想避免在Globalize 的上下文中按照此处的建议进行双重连接,即避免需要先加入翻译表,然后再加入富文本表。
似乎有机会使用 ActionText 表结合这两个步骤,该表已经是类似于键值后端的多态关系,因此与未翻译的富文本相比,翻译将“免费”提供,不会影响性能。
ruby - 使用 Mobility Gem 进行语言切换
如何使用 Mobility gem 创建语言切换?来自 Globalize 我正在使用:
但这不适用于 Mobility。
ruby-on-rails - 在 Rails 中按请求设置 i18n 后备?
我有一个多国 Rails 应用程序。我需要为每个请求设置 i18n 后备模式。是否有可能以及如何实现这一目标?
UPD
ruby-on-rails - 使用 Mobility 翻译 Rails has_many 字符串属性
语境
考虑具有sluggable
多态关系的 Rails 6 应用程序,模型的has_many
本地化为不同语言的 slug 集合可以建模如下:
这应满足以下要求:
- A在每种语言中
sluggable
可以有不同的数量slugs
(一种语言的 slug 和另一种语言的 slug 之间没有直接映射); - 约束确保 slug 对于每个语言环境都是唯一的(
sluggable_type
可以包含在索引中,具体取决于是否希望 slug 在整个应用程序中唯一或在每种模型类型中唯一); - 需要一个单一的连接(同时处理翻译和 slug<->post 关系);
- 该关系保持其顺序以允许选择“默认”
slug
。
可以使用 查询帖子的 slug post.slugs
。按照惯例,帖子的“默认”slug 是post.slugs.first
.
可以通过其语言环境和 slug 找到帖子,如下所示:
问题
如何使用 Mobility 库实现等效效果?我已经在我的应用程序的其余部分中使用了这个翻译库,并且希望能够以一致的方式查询翻译的内容。
键值后端文档似乎符合要求#3,即表mobility_string_translations
是一个多态关系,看起来它可以替换slugs
表。然而,关于#2,它声明了一个唯一索引,["translatable_id", "translatable_type", "locale", "key"]
因此它不允许给定sluggable
和语言环境有多个 slug。该文档展示了如何在每个语言环境中使用单个值(例如 aPost
和 a title
)而不是多个值(例如 aPost
和多个slugs
,如上所述)翻译属性。
Mobility 是否支持上述场景,或者是否可以/应该使用某种新的后端来实现?
PS:我还打开了一个 GitHub 问题。
PPS:在这个 SO question中,我还考虑了将这些 slug 存储在 JSONB 数组中的可能性,但建议不要使用,此外,Mobility只能翻译string
和text
类型。
performance - OMNET++ 中的最大移动速度
我正在尝试实现具有移动性的 AD HOC 无线项目我想知道在 omnet++ 模拟期间节点的最大移动速度?
ruby-on-rails - 如何在移动性中使用语言环境或失败访问器验证翻译?
如何在创建或更新时使用访问器验证具有区域设置或具有移动性 gem 的 fallthrough 访问器的模型?
使用移动宝石: v1.0.5
例子:
- Name (en): 已被占用。
- 姓名(de):有效。
ruby-on-rails - 对由远程参数定义的结果进行排序
我有这个索引动作:
它由带有 vuetify 数据表的 vuejs 前端提供,其目的是发送一组课程对象,由前端过滤和排序。
这适用于默认导轨..
但是,由于涉及到移动 gem,没有字段名称“title”例如或“title_en”,因此订单停止工作。在移动性中,您有一些“假列名”,它会自动处理它以搜索键值表中的值(https://github.com/shioyama/mobility#getting-started)
所以我让我坐下来,打开控制台,然后发现:
.order(title: :desc)
- 作品.order(title_en: :asc)
- 作品- 涉及字符串的所有内容,例如
.order('title DESC')
或.order('title_en ASC')
不起作用并导致错误,例如
ActionView::Template::Error (PG::UndefinedColumn: ERROR: column "title_en" does not exist LINE 1: SELECT "lessons".* FROM "lessons" ORDER BY title_en ASC LIMI...
有没有办法让这个工作?也许有什么可以产生title:
的'title'
?还是别的什么魔法?
谢谢!
mobility - 为移动性扩展数据类型的任何机会
我喜欢 gem 以及它是如何工作的,我只是想知道是否有任何现有或计划的功能来指定翻译以外的数据类型text
(string
存储在 中mobility_[type]_translations
)?
mobility - 设置为 null-sy 值时,表后端翻译自毁
不确定这是错误、功能、丢失的文档还是错误的配置,但是当我将所有翻译属性设置为 null-sy 值时,翻译记录会自毁。
我有如下表后端移动设置:
schema.rb
base_model.rb
base_model_translation.rb
在 Rails 控制台上:
这是一种预期的行为吗,如果是这样,是否有绕过的方法?
编辑:看起来这是一种预期的行为(https://github.com/shioyama/mobility/blob/3cbeaeec8ef0a6d22ee05229141cd2b2bb33b17f/lib/mobility/backends/active_record/table.rb#L306),有没有绕过这个?
ruby-on-rails - 使用移动 gem 使用脏方法进行跟踪的轨道
Rails 控制器方法正在尝试传递对象更改
但是,当它运行时,控制台会为更改注册一个空哈希,甚至不处理changed
动词。
在控制台中使用调用的变量进行测试时,动词changes
按预期运行。但是,应用程序的操作上下文是通过mobility
gem 处理的可转换变量。
在实践中,控制台注册编辑方式如下:
为什么这种行为与mobility
& 实例变量不同?