class Book < ActiveRecord::Base
has_and_belongs_to_many :categories
has_and_belongs_to_many :users
end
class Category < ActiveRecord::Base
has_and_belongs_to_many :books
end
class User < ActiveRecord::Base
has_and_belongs_to_many :books
end
以上是我如何宣布模型之间的关系。在我的书籍控制器和表单中,我可以轻松地创建一本书并将该书与一个类别相关联。但是如何在创建时将该书与用户相关联?是否有一部分rails automagic可以为我处理这个问题,或者我必须做一些事务类型来更新连接表以将一本书与用户关联。
答案 0 :(得分:0)
您可以像这样实例化新书:
class BooksController < ApplicationController
def create
@book = @current_user.books.build(params[:book])
...
end
end
本书的范围为@current_user
;保存@book
时,@book.user_id
将设置为@current_user.id
。填充@current_user
的方式取决于您。