Lui*_*spo 7 ruby-on-rails devise
简单的问题.
我正在为我的应用程序使用Rails 4.1.4和Devise 3.3.0.
我正在尝试生成Devise的控制器,所以我可以覆盖一些行为.
文档说运行...
rails generate devise:controllers [scope]
...在app/controllers/scope下生成控制器,以便您可以修改它们.但是当我运行上一个命令时,它一直说没有发电机设备:控制器:
找不到发电机设备:控制器.
有谁知道为什么?
谢谢.
UPDATE
事实上,当我跑...
铁轨生成
...为了检索可用生成器的列表,我得到了Devise生成器的以下输出:
设计:
设计
设计:安装
设计:观点
所以definitelly,设计:控制器发电机不在那里.有没有办法添加它?怎么样?.
谢谢.
Lui*_*spo 14
解决了
我刚刚手动创建了控制器并使其继承自Devise.例如:
class Users::RegistrationsController < Devise::RegistrationsController
# Override the action you want here.
end
Run Code Online (Sandbox Code Playgroud)
该控制器应该位于app/controllers/users/registrations_controller.rb中.如果您有任何其他范围,请使用app/controllers/scope/registrations_controller.rb.例如,如果你有一个管理范围,它将是app/controllers/admins/registrations_controller.rb.
最好.
UPDATE
在blushrt的评论之后,我忘了提到修改config/routes.rb以使Devise使用为特定资源创建的控制器很重要.例如,对于用户,您应该输入config/routes.rb:
devise_for :users, controllers: { registrations: "users/registrations" }
Run Code Online (Sandbox Code Playgroud)
而已.最好.
| 归档时间: |
|
| 查看次数: |
10259 次 |
| 最近记录: |