ruby-on-rails – 具有友好ID的ActiveAdmin

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 具有友好ID的ActiveAdmin前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用friendly_id在我的rails 4应用程序与slug.现在我正在使用 active_admin gem.

问题:

当我点击群组资源的活动管理员显示链接时,它会抛出以下异常:

ActiveRecord::RecordNotFound at /admin/groups/username20-s-group-1

我想我需要覆盖一些active_admin的默认功能吗?

解决方法

有些情况下,当应用程序退出了几个资源时,为了保持DRY,有一个很好的解决方案,需要很少的代码来整个应用程序 – 只需要重写activeadmin的资源控制器.

使用以下内容创建config / intializers / active_admin_monkey_patching.rb文件

ActiveAdmin::ResourceController.class_eval do
  def find_resource
    finder = resource_class.is_a?(FriendlyId) ? :slug : :id
    scoped_collection.find_by(finder => params[:id])
  end
end

不要忘记重新启动服务器.

猜你在找的Ruby相关文章