Взяв эту статью за отправную точку:
Rails Way Blog - Прокси-серверы ассоциации
и, в частности, глядя на
def create
@todo_list = current_user.todo_lists.build params[:todo_list]
if @todo_list.save
redirect_to todo_list_url(@todo_list)
else
render :action=>'new'
end
end
Это способ убедиться, что вы назначаете право собственности на пользователя
НО предполагая, что список ToDo был отношением "многие-многие", связанными в has_many через, т.е.
def User < AR:Base
has_many :user_todos
has_many :todo_lists, :through => :user_todos
end
На данный момент ...
@todo_list = current_user.todo_lists.build params[:todo_list]
все еще работает, но сохраняется только список todo_list, а не объединение. Как я могу получить удовольствие от прокси-серверов ассоциации, не имея большого количества вложенных элементов, если / иначе не нужно проверять экземпляр join или Todo при сохранении.
Я думал о чем-то вроде ...
@todo_list = cu.user_todos.build.build_to_do(params[:todo_list])
но, как я упоминал выше, user_todos не сохраняются.
Ваша помощь очень ценится!
Кевин.