2017-10-03 6 views
0

ギブスのモビリティに関するドキュメントで、モビリティのデフォルトフォールバックを設定できることが分かりました。私はこのようにそれをやろうとしている:モビリティのデフォルトフォールバックを設定するにはどうすればよいですか?

Mobility.configure do |config| 
    config.default_backend = :table 
    config.accessor_method = :translates 
    config.default_fallbacks = { fr: :en, de: :en, nl: :en, en: :nl, es: :en, cn: :en } 
end 

しかし、私はRailsはそれが私のいないメソッドのエラーを与えるコンソール起動するとき:

`default_fallbacks': undefined method `call' for {:fr=>:en, :de=>:en, :nl=>:en, :en=>:nl, :es=>:en, :cn=>:en}:Hash (NoMethodError) 

は、どのように私はこの作業を行うことができますか?

+0

ハッシュキー文字列を作成しようとしましたか?すなわち、 'fr:' en '、de:' en '? –

+0

それは、コードがあなたの 'Hash'インスタンスで'ブロック 'を実行しようとしているように見えるので、おそらく 'default_fallbacks'はブロックを必要とします。 – fanta

+0

こちらをご覧くださいhttps://github.com/shioyama/mobility/blob/33fa165fe8344c52be3910a2210a290251797e92/lib/mobility/configuration.rb#L64 – fanta

答えて

0

これに関するドキュメントはあまり良くありません。デフォルトのフォールバックを設定するには、このようなdefault_options設定オプションのfallbacksキーに値を設定する必要があります。

Mobility.configure do |config| 
    # ... 
    config.default_options[:fallbacks] = { fr: :en, de: :en, nl: :en, en: :nl, es: :en, cn: :en } 
end 

default_fallbacks設定があなたの代わりにI18n::Locale::Fallbacks.newの異なる代替インスタンスを使用する場合です。

関連する問題