2.3.10에서 3.0.4로 Rails 응용 프로그램을 업그레이드하고 컨트롤러에서 모델을 업데이트 할 때 문제가 발생합니다. 나는 사용자가 그들에게 속하지 않는 객체를 업데이트하는 것을 막기 위해 모델 찾기를 "범위 지정"해왔다. 2.3에서 예상대로 작동하지만 Rails 3에서 update_attributes와 함께 ActiveRecord :: ReadOnlyRecord 오류가 발생합니다.Rails 3 범위에서 ActiveRecord :: ReadOnlyRecord를 찾습니다.
Rails 3에서이 작업을 수행하는 올바른 방법은 무엇입니까?
프로젝트 컨트롤러 :
def update
@project = current_user.projects.find(params[:id])
if @project.update_attributes(params[:project])
# saved
else
# not saved
end
end
인증에 어떤 라이브러리를 사용하고 있습니까? #readonly를 개체의 어딘가에서 호출하는 것처럼 보입니다. 프로젝트 전체에서 해당 개체를 검색해보십시오. –