Ruby ActiveRecord::UnknownAttributeError位于Desive::RegistrationsController#创建未知属性:用户id
我在尝试注册帐户时遇到上述错误。我正在使用Desive,并试图在一个人注册后添加个人资料。如何修复此错误,以便用户可以注册并创建他们的配置文件?我还想在个人资料中添加一个头像,以及地址、电话号码等其他字段。以下是我的文件: 应用程序\u controller.rbRuby ActiveRecord::UnknownAttributeError位于Desive::RegistrationsController#创建未知属性:用户id,ruby,devise,registration,controllers,Ruby,Devise,Registration,Controllers,我在尝试注册帐户时遇到上述错误。我正在使用Desive,并试图在一个人注册后添加个人资料。如何修复此错误,以便用户可以注册并创建他们的配置文件?我还想在个人资料中添加一个头像,以及地址、电话号码等其他字段。以下是我的文件: 应用程序\u controller.rb class ApplicationController < ActionController::Base # Prevent CSRF attacks by raising an exception. # For APIs,
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) << :name
devise_parameter_sanitizer.for(:account_update) << :name
end
def after_sign_in_path_for(resource)
profiles_path(resource)
end
def after_sign_up_path_for(resource)
profiles_path(resource)
end
end
schema.rb
ActiveRecord::Schema.define(version: 20140818034852) do
create_table "installs", force: true 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.datetime "created_at"
t.datetime "updated_at"
end
add_index "installs", ["email"], name: "index_installs_on_email", unique: true
add_index "installs", ["reset_password_token"], name: "index_installs_on_reset_password_token", unique: true
create_table "pins", force: true do |t|
t.string "description"
t.datetime "created_at"
t.datetime "updated_at"
t.integer "user_id"
t.string "image_file_name"
t.string "image_content_type"
t.integer "image_file_size"
t.datetime "image_updated_at"
end
add_index "pins", ["user_id"], name: "index_pins_on_user_id"
create_table "profiles", force: true do |t|
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "user_profiles", force: true do |t|
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", force: true 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.datetime "created_at"
t.datetime "updated_at"
t.string "name"
end
add_index "users", ["email"], name: "index_users_on_email", unique: true
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end
如果查看schema.rb,就会发现它缺少用户id
rails g migration add_user_id_to_profile
这将有助于将概要文件模型与用户模型相关联
'Rails.application.routes.draw do
resources :profiles
resources :pins
devise_for :users
#devise_for :installs
root "pins#index"
get "about" => "pages#about"
ActiveRecord::Schema.define(version: 20140818034852) do
create_table "installs", force: true 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.datetime "created_at"
t.datetime "updated_at"
end
add_index "installs", ["email"], name: "index_installs_on_email", unique: true
add_index "installs", ["reset_password_token"], name: "index_installs_on_reset_password_token", unique: true
create_table "pins", force: true do |t|
t.string "description"
t.datetime "created_at"
t.datetime "updated_at"
t.integer "user_id"
t.string "image_file_name"
t.string "image_content_type"
t.integer "image_file_size"
t.datetime "image_updated_at"
end
add_index "pins", ["user_id"], name: "index_pins_on_user_id"
create_table "profiles", force: true do |t|
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "user_profiles", force: true do |t|
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", force: true 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.datetime "created_at"
t.datetime "updated_at"
t.string "name"
end
add_index "users", ["email"], name: "index_users_on_email", unique: true
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end
rails g migration add_user_id_to_profile