只需将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