【发布时间】:2012-10-11 11:50:17
【问题描述】:
我有一个 Rails 引擎,我想在其中使用 Devise。我按照this guide 正常安装了设计。
我在我的引擎 devise.rb 中添加了这个:
Devise.setup do |config|
config.router_name = :cms_user
end
我在路由文件中添加了这个:
Cms::User::Engine.routes.draw do
devise_for :users, {
class_name: 'Cms::User',
module: :devise
}
end
我在我的路线中添加了这个:
devise_for :users, {
class_name: 'Cms::User',
module: :devise
}
但我不断收到此错误:
undefined method 'cms_user'
我做错了什么?
【问题讨论】:
-
我也尝试将设计添加到一个全新的插件中,并在我的引擎路由文件中添加了这个:devise_for :users, { class_name: 'Blorgh::User', module: :devise }这在我的设计文件 config.router_name = :blorgh_instant_user
-
有什么运气可以解决这个问题吗?我可能遇到过同样的问题,但我不确定:stackoverflow.com/questions/12879350/…
-
嗨! - 是的,我解决了,请查看最新的答案。另外我发现在安装引擎时,指定路径很重要,否则设计路由将不起作用(例如:mount Cms::Engine => "/cms")
标签: ruby-on-rails devise content-management-system rails-engines