【问题标题】:Setting up fixtures for model translations using Mobility in a Rails app在 Rails 应用程序中使用 Mobility 为模型翻译设置固定装置
【发布时间】:2018-02-13 01:54:01
【问题描述】:

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

目前,我的目录结构如下:

???? test
  ???? fixtures
    ???? article
      ???? translations.yml
    ???? articles.yml


# test/fixtures/articles.yml

past_article:
  type: BlogPost
  author: Barney Rubble
  posted_on: <%= 5.days.ago.to_s(:db) %>
  hero_image_id: 1


# test/fixtures/article/translations.yml

past_article_translation:
  article: past_article
  locale: en
  title: Past Article Fixture
  subtitle: Temporary subtitle
  body: This is the temporary blog post content.

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

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

【问题讨论】:

    标签: ruby-on-rails-5 minitest fixtures mobility


    【解决方案1】:

    如果您将article 更改为translated_model,我相信它应该可以工作。 translated_model 在 Mobility 中等同于在 Globalize 中的 globalized_model

    (我自己不使用fixtures所以对语法不是很熟悉,但是从翻译到模型的反比关系是translated_model,你可以看到here)。

    【讨论】:

    • 你用什么?工厂女孩/工厂机器人?
    • 工厂女孩,但这真的没关系。当您使用任何工厂 gem 时,您必须建立实际的关联,因此您只需要知道表/关联名称,Mobility 中的其他任何东西都不重要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多