【问题标题】:Devise Edit user error prohibited this user from being saved设计编辑用户错误禁止保存此用户
【发布时间】:2014-11-05 15:20:08
【问题描述】:

当我尝试提交我的编辑用户页面时,我不断收到以下错误。我正在使用设计并认为我的强大参数有问题。我已经准备好通过设计文档等,但我对此感到困惑,因此非常感谢一些指导!

谢谢

   class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

   before_filter :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:name, :email, :password) }
    devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:name, :line1, :line2, :town, :county, :postcode)}
  end

 private
  def after_sign_in_path_for(resource)
    edit_user_registration_path(current_user) #basically whichever path you think meets your needs
  end

结束

这些是我的路线

 Prefix Verb       URI Pattern                                Controller#Action
                 subscriptions POST       /subscriptions(.:format)                   subscriptions#create
              new_subscription GET        /subscriptions/new(.:format)               subscriptions#new
                  subscription GET        /subscriptions/:id(.:format)               subscriptions#show
                               DELETE     /subscriptions/:id(.:format)               subscriptions#destroy
                 content_fruit GET        /content/fruit(.:format)                   content#fruit
                   content_veg GET        /content/veg(.:format)                     content#veg
                   content_mix GET        /content/mix(.:format)                     content#mix
        new_admin_user_session GET        /admin/login(.:format)                     active_admin/devise/sessions#new
            admin_user_session POST       /admin/login(.:format)                     active_admin/devise/sessions#create
    destroy_admin_user_session DELETE|GET /admin/logout(.:format)                    active_admin/devise/sessions#destroy
           admin_user_password POST       /admin/password(.:format)                  active_admin/devise/passwords#create
       new_admin_user_password GET        /admin/password/new(.:format)              active_admin/devise/passwords#new
      edit_admin_user_password GET        /admin/password/edit(.:format)             active_admin/devise/passwords#edit
                               PATCH      /admin/password(.:format)                  active_admin/devise/passwords#update
                               PUT        /admin/password(.:format)                  active_admin/devise/passwords#update
                    admin_root GET        /admin(.:format)                           admin/dashboard#index
batch_action_admin_admin_users POST       /admin/admin_users/batch_action(.:format)  admin/admin_users#batch_action
             admin_admin_users GET        /admin/admin_users(.:format)               admin/admin_users#index
                               POST       /admin/admin_users(.:format)               admin/admin_users#create
          new_admin_admin_user GET        /admin/admin_users/new(.:format)           admin/admin_users#new
         edit_admin_admin_user GET        /admin/admin_users/:id/edit(.:format)      admin/admin_users#edit
              admin_admin_user GET        /admin/admin_users/:id(.:format)           admin/admin_users#show
                               PATCH      /admin/admin_users/:id(.:format)           admin/admin_users#update
                               PUT        /admin/admin_users/:id(.:format)           admin/admin_users#update
                               DELETE     /admin/admin_users/:id(.:format)           admin/admin_users#destroy
               admin_dashboard GET        /admin/dashboard(.:format)                 admin/dashboard#index
   batch_action_admin_products POST       /admin/products/batch_action(.:format)     admin/products#batch_action
                admin_products GET        /admin/products(.:format)                  admin/products#index
                               POST       /admin/products(.:format)                  admin/products#create
             new_admin_product GET        /admin/products/new(.:format)              admin/products#new
            edit_admin_product GET        /admin/products/:id/edit(.:format)         admin/products#edit
                 admin_product GET        /admin/products/:id(.:format)              admin/products#show
                               PATCH      /admin/products/:id(.:format)              admin/products#update
                               PUT        /admin/products/:id(.:format)              admin/products#update
                               DELETE     /admin/products/:id(.:format)              admin/products#destroy
                admin_comments GET        /admin/comments(.:format)                  admin/comments#index
                               POST       /admin/comments(.:format)                  admin/comments#create
                 admin_comment GET        /admin/comments/:id(.:format)              admin/comments#show
         admin_dashboard_index GET        /admin/dashboard/index(.:format)           admin/dashboard#index
              new_user_session GET        /users/sign_in(.:format)                   devise/sessions#new
                  user_session POST       /users/sign_in(.:format)                   devise/sessions#create
          destroy_user_session DELETE     /users/sign_out(.:format)                  devise/sessions#destroy
                 user_password POST       /users/password(.:format)                  devise/passwords#create
             new_user_password GET        /users/password/new(.:format)              devise/passwords#new
            edit_user_password GET        /users/password/edit(.:format)             devise/passwords#edit
                               PATCH      /users/password(.:format)                  devise/passwords#update
                               PUT        /users/password(.:format)                  devise/passwords#update
      cancel_user_registration GET        /users/cancel(.:format)                    devise/registrations#cancel
             user_registration POST       /users(.:format)                           devise/registrations#create
         new_user_registration GET        /users/sign_up(.:format)                   devise/registrations#new
        edit_user_registration GET        /users/edit(.:format)                      devise/registrations#edit
                               PATCH      /users(.:format)                           devise/registrations#update
                               PUT        /users(.:format)                           devise/registrations#update
                               DELETE     /users(.:format)                           devise/registrations#destroy
                product_orders POST       /products/:product_id/orders(.:format)     orders#create
             new_product_order GET        /products/:product_id/orders/new(.:format) orders#new
                      products GET        /products(.:format)                        products#index
                               POST       /products(.:format)                        products#create
                   new_product GET        /products/new(.:format)                    products#new
                  edit_product GET        /products/:id/edit(.:format)               products#edit
                       product GET        /products/:id(.:format)                    products#show
                               PATCH      /products/:id(.:format)                    products#update
                               PUT        /products/:id(.:format)                    products#update
                               DELETE     /products/:id(.:format)                    products#destroy
                    home_about GET        /home/about(.:format)                      home#about
                  home_contact GET        /home/contact(.:format)                    home#contact
                        seller GET        /seller(.:format)                          products#seller
                         sales GET        /sales(.:format)                           orders#sales
   static_pages_productlanding GET        /static_pages/productlanding(.:format)     static_pages#productlanding
                               GET        /content/veg(.:format)                     content#veg
                               GET        /content/fruit(.:format)                   content#fruit
                               GET        /content/mix(.:format)                     content#mix
             subscriptions_new GET        /subscriptions/new(.:format)               subscriptions#new
                          root GET        /                                          static_pages#home
                      contacts POST       /contacts(.:format)                        contact_us/contacts#create
                   new_contact GET        /contacts/new(.:format)                    contact_us/contacts#new
                    contact_us GET        /contact-us(.:format)                      contact_us/contacts#new

【问题讨论】:

  • 你能发布你的日志吗?

标签: ruby-on-rails github devise


【解决方案1】:

您将要生成设计注册控制器。下面是一个链接,其中包含有关如何执行此操作的说明。 https://github.com/plataformatec/devise/wiki/Tool:-Generate-and-customize-controllers

你将把这个命令扔进你的终端。

 bash <(curl -s https://raw.githubusercontent.com/foohey/cdc/master/cdc.sh)

一旦您生成了注册控制器,您就会想要将此代码放入其中。

private

  def sign_up_params
    params.require(:user).permit(:name, :email, :password)
  end

  def account_update_params
    params.require(:user).permit(:name, :line1, :line2, :town, :county, :postcode)
  end

希望这会有所帮助。

【讨论】:

  • 谢谢,只是为了澄清这实际上是做什么的?我安装了设计 gem 等,注册工作正常,但我最近在编辑时遇到了这个问题。我已编辑问题,以便您查看我的路线
  • 我想是的,我的意思是编辑用户注册.... edit_user_registration GET /users/edit(.:format) devise/registrations#edit
  • 好的,我上面的回答是定义用户帐户更新参数。因此,它允许您在编辑用户配置文件时更新添加到用户表中的新列。
  • 啊,好的,谢谢,只是为了澄清一下,我仍然需要创建一个注册控制器来执行此操作?
  • 我觉得让我困惑的是这个命令 bash raw.githubusercontent.com/foohey/cdc/master/cdc.sh) 为什么这个 over rails 会生成注册控制器?
猜你喜欢
  • 2014-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多