0

我正在使用 rails 3.2,并且在使用单个模型和与角色模型的 HABTM 关系的活动管理员旁边使用预先创建的设计时遇到了问题。

我已经按照本教程http://jaysonlane.net/2012/04/rails-devise-and-active-admin-single-user-model

并改变了一些东西,例如

unless current_user.admin?

为了

unless current_user.roles.first.id==1 #checks if its an admin or not

如果我使用普通用户登录并尝试通过 :300/admin 访问管理页面,我会收到“权限被拒绝”,这是一件好事。

但是,如果我使用管理员帐户登录(它成功地以管理员身份登录),然后转到:3000/admin,它会显示并出现错误:

NoMethodError in Admin/dashboard#index
undefined method for 'destroy_admin_user_session_path'

将其更改为:

config.logout_link_path = :destroy_current_admin_user_session_path
or
config.logout_link_path = :destroy_current_user_session_path

也无济于事。

提前感谢您的帮助

固定的:

必须运行rake routes并更改我的路由的默认 active_admin 初始化程序路径和方法。

至于注销的错误,显然使用 Active admin 注销的默认方法是:get。因此,在活动管理员中单击“注销”时会发生错误。要解决此问题,请转到 config->initializers->active_admin.rb 并添加

config.logout_link_method= :delete

希望这可以帮助某人。

再次感谢 @pjammer 和 @iain 帮助我朝着正确的方向前进。问候

4

1 回答 1

1

必须运行 rake 路由并将默认的 active_admin 初始化程序路径和方法更改为我的路由。

至于注销的错误,显然使用 Active admin 注销的默认方法是:get。因此,在活动管理员中单击“注销”时会发生错误。要解决此问题,请转到 config->initializers->active_admin.rb 并添加

config.logout_link_method= :delete 希望这对某人有所帮助。

再次感谢 @pjammer 和 @iain 帮助我朝着正确的方向前进。问候

于 2012-05-02T11:49:51.077 回答