加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 21:37:11 所属栏目:百科 来源:网络整理
导读:我使用friendly_id在我的rails 4应用程序与slug.现在我正在使用 active_admin gem. 问题: 当我点击群组资源的活动管理员的显示链接时,它会抛出以下异常: ActiveRecord::RecordNotFound at /admin/groups/username20-s-group-1 我想我需要覆盖一些active_ad
我使用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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读