Ruby on rails 未定义的方法构建列表(Rails 5)

Ruby on rails 未定义的方法构建列表(Rails 5),ruby-on-rails,ruby-on-rails-5.2,Ruby On Rails,Ruby On Rails 5.2,user.build_book似乎不起作用。我得到一个未定义的方法build_book错误。但是, a= user.book.build a.save 确实有效。为什么会这样 rails g迁移将用户参考添加到书籍用户:参考 我想试着解释一下你的问题 parent.build\u childattributes此对象具有\u一个关系父对象具有\u一个子对象 如果使用has\u many,则应使用parent.children.buildattributes 如果用户有一本书,则@user.bu

user.build_book似乎不起作用。我得到一个未定义的方法build_book错误。但是,

a= user.book.build
a.save
确实有效。为什么会这样

rails g迁移将用户参考添加到书籍用户:参考


我想试着解释一下你的问题

parent.build\u childattributes此对象具有\u一个关系父对象具有\u一个子对象

如果使用has\u many,则应使用parent.children.buildattributes

如果用户有一本书,则@user.build\u book将起作用

如果用户有很多书,则user@user.books.build

class Book < ApplicationRecord
  belongs_to :user
end


class User < ApplicationRecord
   has_many :books
end