无法在设计上添加新字段 - Ruby on Rails

巴斯蒂安·罗伯特

我只是按照文档在配置文件中添加新字段,但它似乎不起作用。加班我得到Unpermitted parameters: firstname, lastname, password_confirmation

这是我的用户模型:

class User < ApplicationRecord
    devise :database_authenticatable, :registerable, :recoverable, rememberable, :trackable, :validatable
    has_many :issues
    has_many :comments
    has_many :likes

    # Validations
    validates :email, presence: true
    validates :password, presence: true

    # Omniauth
    devise :omniauthable, omniauth_providers: [:facebook]
    # Omniauth Facebook  # Omniauth Facebook
    def self.from_facebook(auth)
        where(facebook_id: auth.uid).first_or_create do |user|
        # user.image = auth.info.image
        user.email = auth.info.email
        user.firstname = auth.info.first_name
        user.lastname = auth.info.last_name
        user.country = auth.info.location
        user.region = ""
        user.password = Devise.friendly_token[0, 20]
        # user.skip_confirmation!
    end
end

## Paperclip avatar
has_attached_file :avatar, styles: {
    big: "1200x1200>",
    medium: "300x300>",
    thumb: "100x100>"
}, default_url: "missing.png"
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/

end

这是我的应用程序控制器,其中包含新设计字段的配置:

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

  # Devise parameters configuration
  before_action :configure_devise_parameters, if: :devise_controller?
  def configure_devise_parameters
      devise_parameter_sanitizer.permit(:sign_up) { |u| u.permit(:email, :avatar, :firstname, :lastname, :region, :country, :bio, :password, :password_confirmation, :current_password) }
      devise_parameter_sanitizer.permit(:account_update) { |u| u.permit(:email, :avatar, :firstname, :lastname, :region, :country, :bio, :password, :password_confirmation, :current_password) }
  end
end
朱南查克玛

模型添加了两个新字段( first_name, last_name) User然后我RegistrationsController通过创建registrations_controller.rb这样的覆盖设计

class RegistrationsController < Devise::RegistrationsController

  private

  def sign_up_params
    params.require(:user).permit(:first_name, :last_name, :email, 
    :password, :password_confirmation)
  end

  def account_update_params
    params.require(:user).permit(:first_name, :last_name, :email, 
    :password, :password_confirmation, :current_password)
  end

并在routes.rb文件中更新了我的设计路线

devise_for :users, :controllers => { registrations: 'registrations' }

它对我有用!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby on Rails设计模式

来自分类Dev

Ruby on Rails设计密码覆盖

来自分类Dev

Ruby on Rails BigDecimal无法正确添加

来自分类Dev

chardinjs无法在Rails上的ruby中工作

来自分类Dev

Mac上的Ruby on Rails无法生成模型

来自分类Dev

Ruby on Rails-添加JavaScript

来自分类Dev

Ruby on Rails无法捆绑安装

来自分类Dev

Ruby on Rails API无法删除

来自分类Dev

Ruby on Strftime在每周的Rails上

来自分类Dev

在Ubuntu上安装ruby / rails

来自分类Dev

Ruby在Rails上的重定向

来自分类Dev

Ruby on Rails 上的#<..> 是什么?

来自分类Dev

Ruby on Rails 在 Blogspot 上运行?

来自分类Dev

Ruby on Rails-在另一个模型的表单上添加模型的字段

来自分类Dev

Ruby on Rails-在另一个模型的表单上添加模型的字段

来自分类Dev

设计Ruby On Rails 4路线

来自分类Dev

Ruby on Rails设计用户的返回角色

来自分类Dev

设计Ruby On Rails 4路线

来自分类Dev

Ruby on Rails数据库填充设计

来自分类Dev

Ruby On Rails 设计 gem 冲突错误

来自分类Dev

Ruby on Rails:登录的 gem 设计会话

来自分类Dev

Ruby on Rails - ActiveRecord 关系无法识别字段

来自分类Dev

Ruby在Rails上不可编辑的文本字段

来自分类Dev

Ruby on Rails:before_save字段小写

来自分类Dev

在Ruby on Rails中查看ActiveRecord模型字段

来自分类Dev

ActiveAdmin Ruby on Rails中的空白字段

来自分类Dev

如何添加外部链接 - Ruby on Rails

来自分类Dev

在Rails上使用Ruby添加到Json Array

来自分类Dev

试图在Ubuntu的rails 4上安装ruby和ruby吗?