轨道 4 嵌套资源 创建新记录 未定义的方法create_association



#<User:0xb4e407a0> 的未定义方法 'create_school'

这是我的创建操作

@school = current_user.create_school(school_params)

在我的模型定义中


user has_one profile profile has_many schools

userschool 之间没有关系。

如果user具有许多schools则使用 创建关联的实例

 current_user.schools.create(school_params)

如果user有一个school则使用create_association

 current_user.create_school(school_params)

根据经验,每当在模型上运行关联方法(通常为 buildcreate(时,方法的名称取决于关联的多个...复数关联需要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

相关内容

  • 没有找到相关文章

最新更新