加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails生成设计:控制器不工作

发布时间:2020-12-17 04:34:19 所属栏目:百科 来源:网络整理
导读:简单的问题. 我正在为我的应用程序使用Rails 4.1.4和Devise 3.3.0. 我正在尝试生成Devise的控制器,以便我可以覆盖某些行为. 文档说运行… rails generate devise:controllers [scope] …在app / controllers / scope下生成控制器,以便您可以修改它们.但是当
简单的问题.

我正在为我的应用程序使用Rails 4.1.4和Devise 3.3.0.

我正在尝试生成Devise的控制器,以便我可以覆盖某些行为.

文档说运行…

rails generate devise:controllers [scope]

…在app / controllers / scope下生成控制器,以便您可以修改它们.但是当我运行上一个命令时,它一直说不存在发电机设备:控制器:

Could not find generator devise:controllers.

有谁知道为什么?

谢谢.

UPDATE

事实上,当我跑…

rails generate

…为了检索可用生成器的列表,我得到了Devise生成器的以下输出:

Devise:

devise

devise:install

devise:views

所以definitelly,设计:控制器发电机不在那里.有没有办法添加它?怎么样?.

谢谢.

解决方法

解决了

我刚刚手动创建了控制器并使其继承自Devise.例如:

class Users::RegistrationsController < Devise::RegistrationsController
    # Override the action you want here.
end

该控制器应该位于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" }

而已.最好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读