0
레일 3의 빌드 메소드에 관한 문제가 있습니다. 프로젝트 및 그룹의 외래 키를 사용하여 Todo를 생성하려고합니다.2 개의 객체를 가진 레일 빌드 함수
연관성은 도도가 1 개 프로젝트 1 개 그룹
My routes
resources :groups do
resources :projects do
resources :todos
end
end
작업을 완벽 belongs_to 그룹
belongs_to,
그룹 has_many 프로젝트를 추천하고
프로젝트 has_many에 일하러 왜 그렇게 보인다.
형태도 완벽하게 작동합니다
<%= form_for [@group, @project, @todo] do |f| %>
내 문제는 지금 작성하고 도도 - 컨트롤러에서 UPDATE 방법이다.
def create
@group = Group.find(params[:group_id])
@project = Project.find(params[:project_id])
@todo = @group.projects.todos.build(params[:todo])
@todo.save
...
내가 작성하는 경우 :
@todo = @group.todos.build(params[:todo])
또는 @todo = @ project.todos.build (PARAMS [: 할 일])
PROJECT_ID 또는 GROUP_ID는 데이터베이스에 저장됩니다. 하지만 함께 :
@todo = @group.projects.todos.build(params[:todo])
내 질문에 내가 GROUP_ID과 PROJECT_ID의 액세스를 얻을 데이터베이스로 모두를 절약 할 수있는 방법, 지금이다.
@group = Group.find(params[:group_id])
@todo = @group.todos.build(params[:todo])
@todo.project = Project.find(params[:project_id])
: