【发布时间】:2022-07-08 23:15:10
【问题描述】:
有一个关于如何为 Mobility 设置固定装置的问题。非常感谢您提供有关如何进行此操作的任何提示,这对我来说也是宝贵的一课,以及如何解决一般的固定装置设置问题。
不使用任何 gem 来设置固定装置,只是这种情况下的默认 Rails 方法。我有一个具有多个可翻译属性的 Song 模型,title 使用 Mobility、description 和 content 使用 Mobility Action Text。
它工作得非常好,但是在设置固定装置时,我发现很难关联记录。这里有三个表songs,其中唯一使用的字段是状态。 mobility_string_translations 存储标题的翻译,action_text_rich_texts 存储翻译 descriptions 和 content。
这就是我的翻译设置在Song 中的样子:
class Song < ApplicationRecord
extend Mobility
validates :title_pt, presence: true
validates :status, inclusion: { in: %w(draft published private) },
presence: true
translates :title, type: :string, locale_accessors: I18n.available_locales
translates :description, backend: :action_text, locale_accessors: I18n.available_locales
translates :content, backend: :action_text, locale_accessors: I18n.available_locales
# file continuation...
至于灯具songs.yml 是这样的:
one:
status: "published"
然后根据我在网上找到的内容,我创建了mobility/string_translations.yml,内容如下:
one:
translatable_id: one (Song)
translatable_type: "Song"
key: "title"
value: "Title in English"
locale: "en"
created_at: <%= Time.now %>
updated_at: <%= Time.now %>
two:
translatable_id: one (Song)
translatable_type: "Song"
key: "title"
value: "Titulo em Português"
locale: "pt"
created_at: <%= Time.now %>
updated_at: <%= Time.now %>
这似乎有效,但我知道这不是因为当我检查 @song = songs(:one) 寻找翻译后的值(@song.title_pt 和 @song.title_en)时,它们都是 nil。
知道在这里做什么吗? ????
【问题讨论】:
标签: ruby-on-rails ruby mobility