2017-03-08 2 views
0

has_one 자전거 및 사용자 자전거를 수락하는 사용자 모델이 있습니다.has_one 연관을 사용하여 해당 레코드를 업데이트하는 방법은 무엇입니까?

class User < ApplicationRecord 
    has_one :bike 

    accepts_nested_attributes_for :bike 
end 

내 컨트롤러에서

class Bike < ApplicationRecord 
    belongs_to :profile 
end 

I는 다음과 같이 자전거의 매개 변수를 전달 :

params.require(:purchase).permit(bike_attributes: [:id, :type, :brand]) 

을 그 후 나는 새로운 정보를

def update 
    current_user.update(purchase_params) 
end 

으로 CURRENT_USER를 업데이트하고 내 문제는 전자 현재 사용자를위한 매우 새로운 변경 사항, 새로운 자전거 레코드가 생성됩니다. 예를 들어 현재 사용자의 자전거 정보를 10 번 업데이트하면 10 개의 자전거 기록이 생성되고 마지막 하나 인 Bike.last은 오른쪽 user_id을 보유하게됩니다.

데이터베이스를 방지하고 실제로 하나의 해당 레코드 만 업데이트하는 방법은 무엇입니까?

감사합니다.

답변

1

paramsid 속성을 통해 자전거가 보내고 있는지 확인하십시오. 현재 자전거가없는 경우 숨겨진 id 필드를 포함해야합니다.

관련 문제