如何通过 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
。
我有一个用户 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
。