我使用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
不要忘记重新启动服务器.