如何防止rails_admin gem复制导航侧栏中的某些标签

时间:2011-08-16 06:21:50

标签: ruby-on-rails ruby-on-rails-3 rails-admin

任何使用过rails_admin gem的人都可能注意到导航侧栏中的标签总是多元化的。

是否有针对特定型号的阻止?

3 个答案:

答案 0 :(得分:5)

在自述文件中:

  

您可能想要更改navigation_label的名称。这个可以   可以使用父级的'navigation_label'方法轻松实现   模型。

     

添加到上一个示例:

class League < ActiveRecord::Base
  rails_admin do
    navigation_label 'League related'   
  end 
end

这可以解决您的问题吗?

答案 1 :(得分:4)

您可以在rails admin initializer

中传入label_plural参数
config.model Thing do
  label_plural "Thing"
end

答案 2 :(得分:1)

我设法解决了这个问题。方法如下:

  • 创建视图/ rails_admin / main / _navigation.html.haml
  • 从rails_admin gem源代码
  • 中的等效文件中复制并粘贴代码
  • label_plural
  • 替换label的所有实例

所以以下内容会改变:

= link_to(model.label_plural, list_path(:model_name => model.abstract_model.to_param))

为:

= link_to(model.label, list_path(:model_name => model.abstract_model.to_param))

这很好,因为label和label_plural非常相似,如你所见:

register_instance_option(:label) do
  @label ||= abstract_model.model.model_name.human(:default => abstract_model.model.model_name.demodulize.underscore.humanize)
end

register_instance_option(:label_plural) do
  @label_plural ||= abstract_model.model.model_name.human(:count => 2, :default => label.pluralize)
end

现在,如果我想要一个复数标签,我只需在我的模型的rails_admin块中指定它。