#<User:0xb4e407a0> 的未定义方法 'create_school'
这是我的创建操作
@school = current_user.create_school(school_params)
在我的模型定义中
user has_one profile
profile has_many schools
user
和 school
之间没有关系。
如果user
具有许多schools
则使用 创建关联的实例
current_user.schools.create(school_params)
如果user
有一个school
则使用create_association
current_user.create_school(school_params)
根据经验,每当在模型上运行关联方法(通常为 build
或 create
(时,方法的名称取决于关联的多个...复数关联需要association.create
,单数关联需要create_association
:
belongs_to
参考(特别是关于create_
(:
声明belongs_to关联时,声明类 自动获得与关联相关的五种方法:
- 关联(force_reload = 假(
关联- =(关联(
- build_association(属性 = {}(
- create_association(属性 = {}(
- create_association!(属性 = {}(
--
has_many
参考(特别是关于.create
(:
声明has_many关联时,声明类 自动获得与关联相关的 16 种方法:
- 集合(force_reload = 假(
- 。
- collection.build({}(
- collection.create(attributes = {}(
- 收藏.创建!(属性 = {}(
因此,如果您使用的是has_many
关联,则需要使用 x.create
:
@school = current_user.schools.create school_params