2010-12-05 4 views
4

이것은 너무 간단해서 우스꽝 스럽다. API 문서와 레일스 소스 코드를 포함하여 어디서나이 정보를 찾을 수 없었다.Rails Association의 업데이트 방법은 무엇입니까?

나는 belongs_to 연관을 가지고 있는데, 나는 당신이 호출하는 일반적인 모델 방법을 이해하게되었다. 당신이하지 않을 때 컨트롤러에서 당신이 할 때 것들과 약간 다릅니다.

예를 들어, 내가 만들 컨트롤러 액션을 위해 잘 작동 나의 협회있어 :

@user = current_user 
@building = Building.new(params[:building]) 

respond_to do |format| 
    if @user.buildings.create(params[:building]) 
# et cetera 

을하지만 업데이트가 어떻게 작동하는지 나는에 대한 문서를 찾을 수 없습니다 :

@user = current_user 
@building = @user.buildings.find(params[:id]) 

respond_to do |format| 
    if @user.buildings.update(params[:building]) 
# et cetera 

업데이트를 사용하여 메서드는 "잘못된 인수 수 (1에 대해 2)"라는 오류를 제공하며 어떤 인수가 전송되어야하는지 알 수 없습니다.

답변

10

사용 update_attributes : 그것은

@user = current_user 
@building = @user.buildings.find(params[:id]) 

respond_to do |format| 
    if @building.update_attributes(params[:building]) 
    #... 
    end 
end 
+0

입니다! 나는 이미 그것을 시도했지만 그것으로 잘못된 객체를 사용하고있었습니다. 감사. – user478798

+0

@ user478798 여러분을 환영합니다! :-) –

+0

참고 :'update_attributes'는 객체에 대한 유효성 검사를 실행하지 않습니다. – agbodike

관련 문제