gpt4 book ai didi

ruby-on-rails - 带有设计的未知属性

转载 作者:行者123 更新时间:2023-12-01 04:10:19 24 4
gpt4 key购买 nike

对于我的数据模型,我有两种不同的类型:家人和 friend 。我的计划是让每个人都有一个指向由 Devise 创建的 User 表的外键。因此,当用户注册时,我希望他们转到/friends/sign_up 或 family_members/sign_up 。所以,我的 friend 类是

class Friend < ActiveRecord::Base
belongs_to :label
belongs_to :user
belongs_to :gender
belongs_to :location
belongs_to :orientation
belongs_to :matchmaker

def after_initialize
self.build_user if self.user.nil?
end
#accepts_nested_attributes_for :user
delegate :username, :to => :user
delegate :email, :to => :user
delegate :password, :to => :user
delegate :password_confirmation, :to => :user
delegate :rememebr_me, :to => :user

# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
end

我的用户类是
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
# devise :database_authenticatable, :registerable,
# :recoverable, :rememberable, :trackable, :validatable

attr_accessor :username, :email, :password, :password_confirmation, :remember_me
# Setup accessible (or protected) attributes for your model
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
end

我也在使用 Formtastic 作为我的观点。
现在,我得到
unknown attribute: username

带参数
{"utf8"=>"✓", "authenticity_token"=>"8ScsJebuCWnflaRQkp9MsBuaaqfzQKaZBXotLyNwNyM=",
"friend"=>{"username"=>"aaaa",
"email"=>"aaa@aaa.com",
"password"=>"[FILTERED]",
"password_confirmation"=>"[FILTERED]"},
"commit"=>"Create Friend"}

现在,我只是随机尝试向两个模型添加 nested_attributes 和任何内容。我可以使用表继承,但我不想这样做(除非我可以向指向父类(super class)的子类添加外键,否则就可以了)。

最佳答案

好的,我已经解决了我满意的问题。这是我的新代码以供将来引用:

class Friend < ActiveRecord::Base 
belongs_to :friend_user, :class_name =>
end

class FriendUser < User
set_table_name :users
has_one :friend
end
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable

# Setup accessible (or protected) attributes for your model
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
end

关于ruby-on-rails - 带有设计的未知属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6560393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com