如何通过 Rails 命令行创建相关对象/获取 .build 错误

How to create a related object via Rails command line / getting error for .build

我有一个用户 has_one 像这样分析:

class User < ActiveRecord::Base
  has_one :profile
...
class Profile < ActiveRecord::Base
  belongs_to :user

我认为我可以 build 配置文件,但我收到以下错误:

@user37=User.find(37)
[9] pry(main)> @user37.profile.build
  Profile Load (0.3ms)  SELECT `profiles`.* FROM `profiles` WHERE `profiles`.`user_id` = 37 LIMIT 1
NoMethodError: undefined method `build' for nil:NilClass
from (pry):9:in `__pry__'
[10] pry(main)> 

我如何通过 Rails cli 建立这种关系?

has_one 关系与 has_many 有点不同。因此,您需要改用 @user37.build_profile