假设我有 2 个模型:1. user 和 2. userProfile
我们在 2 个模型之间存在一对一的关系。
然后,我想创建用户控制器并创建用户,其中包含用户名和密码等字段以及用户配置文件中的地址、手机号码等其他详细信息。
user_id 是 user_profile 中的外键
然后我在用户中创建了 new.html.erb 视图,以相同的形式呈现上述所有字段。然后我如何将数据分别保存在两个不同的表 user 和 userprofile 中。
我尝试的是
1. has_one :user_profile in user.rb和 belongs_to :user 在user_profile.rb
2.accept_nested_attributes_for :user_profile in user.rb
user_controller:
定义创建 @user = User.new(params[:user]) 如果@user.save @userprofile = @user.create_user_profile(params[:user_profile]) redirect_to root_url, :notice => "已注册!" 别的 渲染“新” 结尾 结尾
3. 然后我得到错误,唯一的用户 ID 是在 user_profile 中创建的,并且更新运行以使 user_id 为零,这是不可能的!所以引发错误:
未知列“user_profiles”。在'where子句'中:更新`user_profile` SET `user_id` = NULL WHERE `user_profiles`.`` 是 NULL那么出了什么问题以及如何解决这个问题?