在 RailsAdmin 中更改模型的导航标签
Change navigation label for model in RailsAdmin
如何在 rails_admin 中更改导航标签?
这里是app/models/admin.rb
:
module Admin
def self.table_name_prefix
'admin_'
end
end
和app/models/admin/seo.rb
:
class Admin::Seo < ActiveRecord::Base
end
我想将 Admin::Sea
模型的 Rails 管理导航标签更改为 "Admin"。
我在 config/locales/ru.yml
中尝试了以下方法:
activerecord:
models:
admin:
one: test
other: test1
admin/seo:
one: SEO - данные
other: SEO - данные
我也试过 config/initializers/rails_admin.rb
:
config.model Admin do
label 'test1'
label_plural 'test1'
navigation_label 'test1'
end
在我的项目中它是这样工作的
activerecord:
models:
admin/seo:
one: SEO - данные
other: SEO - данные
而且您不需要初始化程序。
此外,它应该是 ru.yml
而不是 en.yml
,因为它是俄语翻译,因此它必须仅用于俄语区域设置。
更新 1
我找到了一些答案,但我不确定它是否是最好的(但它有效)
class Admin::Seo < ActiveRecord::Base
rails_admin do
navigation_label I18n.t('your.translation.path.here')
end
end
您也可以将此代码放在初始化器而不是模型中(由您决定)。
您可以看到 here 如何 rails_admin
生成这个侧边栏。
所以每个模型都应该有 navigation_label
或者默认为 t('admin.misc.navigation')
.
更新 2
您可以像这样在初始化期间为所有模型设置navigation_label
# config/environment.rb
...
RailsAdmin::Config.models.each do |model|
if model.abstract_model.model_name.starts_with? 'Admin::'
model.navigation_label I18n.t('your.translation.path.here')
end
end
这会将所有具有 Admin
命名空间的模型和其他模型拆分到侧边栏中的两个单独的菜单中。
代码放在 environment.rb
中,因为翻译在 initializers/*.rb
.
中不可用
如何在 rails_admin 中更改导航标签?
这里是app/models/admin.rb
:
module Admin
def self.table_name_prefix
'admin_'
end
end
和app/models/admin/seo.rb
:
class Admin::Seo < ActiveRecord::Base
end
我想将 Admin::Sea
模型的 Rails 管理导航标签更改为 "Admin"。
我在 config/locales/ru.yml
中尝试了以下方法:
activerecord:
models:
admin:
one: test
other: test1
admin/seo:
one: SEO - данные
other: SEO - данные
我也试过 config/initializers/rails_admin.rb
:
config.model Admin do
label 'test1'
label_plural 'test1'
navigation_label 'test1'
end
在我的项目中它是这样工作的
activerecord:
models:
admin/seo:
one: SEO - данные
other: SEO - данные
而且您不需要初始化程序。
此外,它应该是 ru.yml
而不是 en.yml
,因为它是俄语翻译,因此它必须仅用于俄语区域设置。
更新 1
我找到了一些答案,但我不确定它是否是最好的(但它有效)
class Admin::Seo < ActiveRecord::Base
rails_admin do
navigation_label I18n.t('your.translation.path.here')
end
end
您也可以将此代码放在初始化器而不是模型中(由您决定)。
您可以看到 here 如何 rails_admin
生成这个侧边栏。
所以每个模型都应该有 navigation_label
或者默认为 t('admin.misc.navigation')
.
更新 2
您可以像这样在初始化期间为所有模型设置navigation_label
# config/environment.rb
...
RailsAdmin::Config.models.each do |model|
if model.abstract_model.model_name.starts_with? 'Admin::'
model.navigation_label I18n.t('your.translation.path.here')
end
end
这会将所有具有 Admin
命名空间的模型和其他模型拆分到侧边栏中的两个单独的菜单中。
代码放在 environment.rb
中,因为翻译在 initializers/*.rb
.