don*_*iao 1 ruby ruby-on-rails devise
我以前是通过运行来gem: devise创建的,我用devise来通过运行来创建视图的。现在我想创建. 我怎样才能做到这一点?models/user.rbrails g devise Userrails g devise:viewscontrollers/users_controller.rb
rails g controller users
Run Code Online (Sandbox Code Playgroud)
它是否正确?该用户是否与 联系devise User?我查看了另一个应用程序,并class UsersController < ApplicationController在那里工作。
我是新的。谢谢回答。
您可以devise使用其生成命令生成控制器:
rails generate devise:controllers [scope]
Run Code Online (Sandbox Code Playgroud)
意味着scope您要创建它的文件夹,就像如果它是供用户使用的,那么您可以为用户提供范围,该范围将在app/controllers/users/.
您需要在路线中指定这一点,以便 Rails 使用您的控制器:
devise_for :users, controllers: { registrations: "users/registrations" }
Run Code Online (Sandbox Code Playgroud)
如果您需要一个名为users_controllerthen 的控制器,您可以使用以下命令生成它:
rails g controller users
Run Code Online (Sandbox Code Playgroud)
但它不会连接devise。的所有动作(new、create、update、edit)均由设备User处理。registrations_controller因此,如果您需要的话,您可以随时覆盖它们。因此它会调用您的自定义代码而不是默认代码。
如果您创建自己的控制器,users_controller它将是普通的 Rails 控制器。只需为其定义路由并在用户文件夹中创建视图即可。
您可以在 devise wiki 中找到更多信息:
https://github.com/plataformatec/devise#configuring-controllers
希望这可以帮助。