0

FormTastic を SimpleForm に置き換えたところ、FormTastic は名前空間で翻訳を使用していましたがde.activerecord.*、SimpleForm は を主張しているようde.simple_form.*です。私はグーグルで検索し、ドキュメントも読みました。興味深いことに、次のコード スニペットがあります。

en:
  activerecord:
    models:
        admin/user: User
    attributes:
        admin/user:
            name: Name

しかし、SimpleFormen.activerecord.*をその名前空間として使用できるかどうかについて、これ以上の情報を見つけることができる場所は他にありません。

では、SimpleForm にその名前空間を変更させることはできますか? どんな助けでも大歓迎です。

4

3 に答える 3

3

YAML ツリーの一部をエイリアス/マージする可能性もあります。

de:
  active_record: &myAliasName
    models:
      contact:
          name: "Name"
          age: "Alter"
  simple_form:
    <<: *myAliasName
    another_key: "another_value"

結果:

{
  "de": {
    "simple_form": {
      "models": {
        "contact": {
          "age": "Alter", 
          "name": "Name"
        }
      }, 
      "another_key": "another_value"
    }, 
    "active_record": {
      "models": {
        "contact": {
          "age": "Alter", 
          "name": "Name"
        }
      }
    }
  }
}

これはこの問題の回避策かもしれませんが、パフォーマンスが少し遅くなると思います。

于 2012-09-04T13:23:54.500 に答える
1

このファイルを確認してください https://github.com/plataformatec/simple_form/blob/master/lib/simple_form/inputs/base.rb#L161名前空間を自分のものに変更するには、モンキーパッチを適用できると思います。

于 2012-08-30T14:41:23.143 に答える
0

これは非常に古い質問だと思いますが、SimpleForm 3.1 で同じことをしようとしているときに出くわしました。

SimpleForm には、i18n プレフィックスを指定する構成オプションが追加されました。これは の下部にありconfig/initializers/simple_form.rbます。任意のスコープを使用するように簡単に構成できます。activerecordの代わりにsimple_form:

# Defines which i18n scope will be used in Simple Form.
config.i18n_scope = 'activerecord'
于 2015-04-10T06:07:59.023 に答える