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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的Ruby相关文章