ruby-on-rails – 如何自定义ActiveAdmin使用find_by请求而不是所有操作的ID

只需将ActiveAdmin添加到我的应用程序,我使用show / edit / destroy操作导致问题,因为我的链接不指向ID,而是指向用户名(为了使用户更易读).

ActiveAdmin正确创建我的链接,如:

编辑链接
http:// localhost:3000 / admin / users / paul / edit(其中paul是用户名)

在这种情况下我得到:
找不到ID = paul的用户

原因当然,保罗不是id,而是用户名.

如何自定义ActiveAdmin使用find_by_name(params [:id]),像我的应用程序中的所有动作show / edit / delete.

在其他模型中,我得到一个所谓的“SID”,这是一个生成的盐渍ID,我也想使用find_by_sid(params [:id])以及其他模型.

非常感谢.

干杯..

解决方法

这将在app / admin / user.rb中完成这项工作:
ActiveAdmin.register User do
    before_filter :only => [:show,:edit,:update,:destroy] do
        @user = User.find_by_name(params[:id])
      end
end

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...