Ruby on Rails で 2 つのモデルを関連付けて、has_many をセットアップしました。セットアップは次のとおりです。モデルは User と Document で、結合モデルは Ownership です。モデルは次のように定義されます。
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 コントローラーの新しいアクションは、このようなものにとってまったく正しい場所ですか? どんな助けでも大歓迎です。