가 출발점으로이 문서를 촬영을 통해 함께 프록시합니다 :건축 협회
Rails Way Blog - Association Proxies
및
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
이에 구체적으로보고하면 사용자
에 소유권을 할당 확인하는 하나의 방법입니다BUT ToDo 목록이 ToDo 목록과 관련된 다 대다 관계라고 가정합니다. 이 시점에서 즉
def User < AR:Base
has_many :user_todos
has_many :todo_lists, :through => :user_todos
end
를 통해 has_many ...
@todo_list = current_user.todo_lists.build params[:todo_list]
는하지만 여전히에만 todo_list 조인 저장되지 않고 작동합니다. 어떻게하면 중첩 된 if/else 조인 또는 Todo 인스턴스가 저장 될 때 유효성을 검사하지 않아도 연관 프록시의 기쁨을 얻을 수 있습니다. 나는 user_todos 위에서 언급 한 바와 같이
내가의 라인을 따라 뭔가 생각하고 있었는데 ...
@todo_list = cu.user_todos.build.build_to_do(params[:todo_list])
하지만 저장되지 않습니다.
귀하의 도움에 감사드립니다.
케빈.
당신은'User # todo_lists'와'User # todos'에 대해 서로 바꾸어 말할 수 있습니다. 그러나 구조를 조정했기 때문에 이것들은 두 가지 다른 것들입니다. 이름을 바꾸면 모든 것이 깨져야합니다. – tadman
아. 나는 그것을 바꿀 것이다. 그래도 여전히 참여를 저장하지 않습니다! :) –