Ruby on rails ActiveAdmin中的面包屑列表在使用友好\u id时显示错误的名称

Ruby on rails ActiveAdmin中的面包屑列表在使用友好\u id时显示错误的名称,ruby-on-rails,activeadmin,friendly-id,Ruby On Rails,Activeadmin,Friendly Id,我有一个名为Company的模型,它有代码。该列用于友好的\u id 有了这段代码,我可以通过ActiveAdmin编辑模型属性,但编辑页面中的面包屑列表显示了错误的公司名称。即使用id而不是代码 在何处以及如何配置以同时使用ActiveAdmin和friendly_id 来自ActiveAdmin源代码,可在lib/active\u admin/dsl.rb中找到 # Rewrite breadcrumb links. # Block will be executed inside c

我有一个名为Company的模型,它有代码。该列用于友好的\u id

有了这段代码,我可以通过ActiveAdmin编辑模型属性,但编辑页面中的面包屑列表显示了错误的公司名称。即使用id而不是代码


在何处以及如何配置以同时使用ActiveAdmin和friendly_id

来自ActiveAdmin源代码,可在lib/active\u admin/dsl.rb中找到

# Rewrite breadcrumb links.
    # Block will be executed inside controller.
    # Block must return an array if you want to rewrite breadcrumb links.
    #
    # Example:
    #   ActiveAdmin.register Post do
    #     breadcrumb do
    #       [
    #         link_to('my piece', '/my/link/to/piece')
    #       ]
    #     end
    #   end
    #
    def breadcrumb(&block)
      config.breadcrumb = block
    end

因为它是在控制器中执行的,所以您可以使用自定义的find_资源方法根据自己的喜好对其进行配置

来自ActiveAdmin源代码,可在lib/active\u admin/dsl.rb中找到

# Rewrite breadcrumb links.
    # Block will be executed inside controller.
    # Block must return an array if you want to rewrite breadcrumb links.
    #
    # Example:
    #   ActiveAdmin.register Post do
    #     breadcrumb do
    #       [
    #         link_to('my piece', '/my/link/to/piece')
    #       ]
    #     end
    #   end
    #
    def breadcrumb(&block)
      config.breadcrumb = block
    end

因为它是在控制器中执行的,所以您可以使用自定义的find_资源方法根据自己的喜好对其进行配置

初始化器/active\u admin.rb中的config.display\u name的代码是否适用于您?

初始化器/active\u admin.rb中的config.display\u name的代码是否适用于您?

谢谢@mark merrit,通过此代码,面包屑显示正确的公司名称

app/admin/companys.rb
也许在面包屑中有一个更好的父母路径实现。如果你知道的话,请告诉我。

谢谢@mark merrit,通过这个代码,breadcrumbs显示了正确的公司名称

app/admin/companys.rb
也许在面包屑中有一个更好的父母路径实现。如果你知道的话,请告诉我。

sally config.display\u name\u methods=[:code]显示错误的代码。sally config.display\u name\u methods=[:code]显示错误的代码。实际上,我不想问问题。我把它作为一个答案发布,因为我认为一个实现可能会帮助从谷歌来到这里的人。实际上,我并不打算问一个问题。我把它作为一个答案发布,因为我认为一个实现可能会帮助来自谷歌的人。
# Rewrite breadcrumb links.
    # Block will be executed inside controller.
    # Block must return an array if you want to rewrite breadcrumb links.
    #
    # Example:
    #   ActiveAdmin.register Post do
    #     breadcrumb do
    #       [
    #         link_to('my piece', '/my/link/to/piece')
    #       ]
    #     end
    #   end
    #
    def breadcrumb(&block)
      config.breadcrumb = block
    end
ActiveAdmin.register Post do
  breadcrumb do
    links = [link_to('Admin', admin_root_path), link_to('Companies', admin_companies_path)]
    if %(show edit).include?(params['action'])
      links << link_to(company.name, admin_company_path)
    end
    links
  end
end