이에 대한 암시 적 권한을 사용하는 것이 좋습니다. 새로운 프로젝트가 자동으로 사용자에 의한 것이다이 방법으로
resources :people do
resources :projects
end
:
다음
# GET people/1/projects/new
def new
user = User.find(session[:current_user_id])
@project = user.people.find(params[:person_id]).projects.build(:title => "New Project")
end
# POST people/1/projects
def create
user = User.find(session[:current_user_id])
user.people.find(params[:person_id]).projects.create(params[...])
end
routes.rb의 : 같은 최종 결과가 보일 것입니다.
참고로, 각 작업에서 User.find
을 수행 할 필요없이 현재 사용자에게 더 편리하게 액세스 할 수 있도록 Devise 또는 before_filter와 같은 것을 사용하는 것이 좋습니다.
또한 컨트롤러 동작에 추가 @title 변수가 없어야합니다. 각 컨트롤러 동작은 리소스 또는 리소스 모음을 공유해야합니다.
도움 주셔서 감사합니다. – Tintin81