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

ruby-on-rails – Rails – 设计 – 向控制器添加动作

发布时间:2020-12-17 03:16:55 所属栏目:百科 来源:网络整理
导读:我在设计控制器中添加动作时遇到了一些麻烦. 我在一个用户/这样的文件夹中创建了一个名为registrations_controller的控制器: class Users::RegistrationsController Devise::RegistrationsController 并且,有我的路线文件: root to: 'home#index'devise_fo
我在设计控制器中添加动作时遇到了一些麻烦.
我在一个用户/这样的文件夹中创建了一个名为registrations_controller的控制器:

class Users::RegistrationsController < Devise::RegistrationsController

并且,有我的路线文件:

root to: 'home#index'

devise_for :users
devise_scope :users do
    get 'users/profil/:id',to: 'users/registrations#profil',as: 'profil'
end

我看到以下错误:

Unknown action
Could not find devise mapping for path "/users/profil/1"
This may happen for two reasons: 1) You forgot to wrap your route inside the scope block. For example: devise_scope :user do get "/some/route" => "some_devise_controller" end 2) You are testing a Devise controller bypassing the router.

我的代码出了什么问题?

解决方法

请尝试以下方法:

devise_scope :user do
       get 'users/profil/:id',as: 'profil'
    end
    devise_for :users,:controllers => {:registrations => "users/registrations"}
    resources :users

此外,您不需要命名控制器Users :: RegistrationsController将其命名为RegistrationController,保持继承,因为您拥有Devise :: RegistrationsController

(编辑:李大同)

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

    推荐文章
      热点阅读