我通过 Ruby on Rails 中的两个模型之间的关联设置了一个 has_many。设置如下。模型是用户和文档,连接模型是所有权。模型定义如下:
class Ownership < ActiveRecord::Base
attr_accessible :document_id, :user_id
belongs_to :user
belongs_to :document
end
class User < ActiveRecord::Base
has_many :ownerships
has_many :documents, :through => :ownerships
end
class Document < ActiveRecord::Base
has_many :ownerships
has_many :users, :as => :owners, :through => :ownerships
end
现在我的问题是如何在创建文档时将创建文档的用户设置为文档的所有者。该项目还使用 devise、cancan 和 rolify 进行用户处理。我试图像这样在 Codument 控制器的新动作中设置它,但没有成功
def new
@document = Document.new
@document.users = current_user
respond_to do |format|
format.html # new.html.erb
format.json { render json: @document }
end
end
我怎样才能正确地做到这一点?我的 Document 控制器的新操作是否适合这样的事情?任何帮助,将不胜感激。