我正在尝试为我的Devise User模型添加一些额外的信息,如first_name、last_name、年龄、性别和城市。
当我填写注册表格并单击提交时,我会收到以下错误:
SQLite3::ConstraintExc的:不是NULL约束失败:users.first_name:插入到用户(电子邮件,encrypted_password,created_at,updated_at)值 (?, ?, ?, ?)
def each
loop do
val = step
break self if done?
yield val
end
如果有任何用途,以下是参数:
参数:
{"utf8"=
以下是我的schema.rb以防万一:
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.string "confirmation_token"
t.datetime "confirmed_at"
t.datetime "confirmation_sent_at"
t.string "unconfirmed_email"
t.string "first_name", null: false
t.string "last_name", null: false
t.integer "age", null: false
t.string "city", null: false
t.string "gender", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end
这也是我的user.rb模型:
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
您在电子邮件上有一个唯一的索引。错误的意思是您尝试保存的电子邮件在数据库中不为空。用户已收到此电子邮件。更改电子邮件,它应该可以工作。
# to check for the user in the database
rails c
user = User.find_by_email("test.test@email.com") should bring back a user.
要在用户上设置尚未在设计中设置的附加列,我允许以这种方式访问我的Application ationContle ler。铁路4
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
# Only add some parameters
devise_parameter_sanitizer.for(:accept_invitation).concat [:first_name, :last_name]
end
或
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :full_name
end
这将允许您将名字和姓氏与您设置的其他内容联系在一起。
导轨5
def configure_permitted_parameters
additional_params = [:name, :company, :email_confirmation, {addresses_attributes: [:address1, :address2, :city, :state, :zip, :country, :name]}]
devise_parameter_sanitizer.permit(:sign_up, keys: additional_params)
devise_parameter_sanitizer.permit(:account_update, keys: additional_params)
end
ActiveRecord 是个轻量级的核心数据的活动记录。
Castle ActiveRecord框架是一个基于.NET的ORM框架,它实现了ActiveRecord设计模式。它本身就是基于NHibernate,只是封 装了NHibernate的大部分烦杂细节,对于需要持久化的类,只需继承自ActiveRecordBase类,并对类中的property赋予正确的 Attribute,而无需编写烦杂的mapping file。对于大型系统复杂的数据库逻辑,C
php-activerecord 是一个基于 ActiveRecord 设计模式 开发的开源PHP ORM库。它旨在大大简化与数据库的交互和减少手写 SQL 语句。它不同于其他的ORM,你不需要使用任何的代码生成器,也不费劲去手写、维护模型层的表映射文件。这个库的灵感来自Ruby on Rails ,因此它也借鉴Ruby on Rails 的想法和实现。另外,它也很容易地整合到ZF、CodeIgn
Use the ActiveRecord Integration facility if you want to benefit from the transaction management offered by the Automatic Transaction Management Facility and if you want to have the Container configur
问题内容: 我正在尝试从使用的模型中找到一个项目,但这给了我错误 全程跟踪 的第5行是 可能是什么问题?您可以在上面遮一下光吗?可能的解决方案是什么 问题答案: 它所需要的只是 在您的文件中
ActiveRecord 高级技巧 阿里云 Rails 项目调整 RDS MySQL 编码为 utf8mb4 的详细步骤 Rails 中的事务处理 MySQL 用 UUID 作为主键,实际使用中有什么问题 ActiveRecord Object Instantiate ActiveRecord 的三种数据预加载形式 - includes, preload, eager_load, Preload、