Ruby on rails SimpleForm、I18n和Rails:将名称空间从de.simple_form.*更改为de.activerecord.*?
我们刚刚用SimpleForm替换了FormTastic,虽然FormTastic在名称空间Ruby on rails SimpleForm、I18n和Rails:将名称空间从de.simple_form.*更改为de.activerecord.*?,ruby-on-rails,internationalization,simple-form,Ruby On Rails,Internationalization,Simple Form,我们刚刚用SimpleForm替换了FormTastic,虽然FormTastic在名称空间de.activerecord.*中使用了我们的翻译,但SimpleForm似乎坚持de.simple\u form.*。我在谷歌上搜索了一下,也阅读了文档,其中有趣的是有以下代码片段: en: activerecord: models: admin/user: User attributes: admin/user: name:
de.activerecord.*
中使用了我们的翻译,但SimpleForm似乎坚持de.simple\u form.*
。我在谷歌上搜索了一下,也阅读了文档,其中有趣的是有以下代码片段:
en:
activerecord:
models:
admin/user: User
attributes:
admin/user:
name: Name
但是,在其他任何地方,我都找不到有关SimpleForm是否可以使用en.activerecord.
作为其名称空间的更多信息
那么我可以强制SimpleForm更改其名称空间吗?非常感谢您的帮助。检查此文件,我想您可以通过monkey patch将名称空间更改为您的名称空间。检查此文件,我想您可以通过monkey patch将名称空间更改为您的名称空间。也可以通过别名/合并YAML树的部分:
de:
active_record: &myAliasName
models:
contact:
name: "Name"
age: "Alter"
simple_form:
<<: *myAliasName
another_key: "another_value"
这可能是解决此问题的一种方法,但我认为它的性能可能会稍慢一些。也有可能只是别名/合并YAML树的部分:
de:
active_record: &myAliasName
models:
contact:
name: "Name"
age: "Alter"
simple_form:
<<: *myAliasName
another_key: "another_value"
这可能是解决此问题的一种方法,尽管我认为它的性能可能会稍慢一些。我意识到这是一个非常老的问题,但我只是在SimpleForm 3.1中尝试做同样的事情时遇到了它 SimpleForm现在有一个配置选项来指定i18n前缀,它可以在
config/initializers/simple_form.rb
的底部找到。您可以简单地将其配置为使用您想要的任何范围,例如activerecord
而不是simple\u form
:
# Defines which i18n scope will be used in Simple Form.
config.i18n_scope = 'activerecord'
我意识到这是一个非常古老的问题,但我只是在SimpleForm3.1中做同样的事情时遇到了这个问题 SimpleForm现在有一个配置选项来指定i18n前缀,它可以在
config/initializers/simple_form.rb
的底部找到。您可以简单地将其配置为使用您想要的任何范围,例如activerecord
而不是simple\u form
:
# Defines which i18n scope will be used in Simple Form.
config.i18n_scope = 'activerecord'
+1,这句话特别:+1,这句话特别:哈哈,谁投票否决了我?事实上,提供的答案正是我想要的,所以我在这里添加了它,以防其他人对这个简单的问题搜索得太远哈哈,谁投票否决了我?事实上,提供的答案正是我想要的,所以我在这里添加了它,以防其他人对这个简单的问题搜索得太远