Rails에 연관이있는 레코드를 업데이트 할 수 없습니다.Rails에 연관이있는 레코드를 업데이트 할 때 문제가 발생했습니다.
예를 들어 Post
모델과 User
모델이 있습니다. post.rb에서 나는 협회 belongs_to :user
을 포함 시켰습니다.
기존 게시물 레코드의 user_id 필드를 변경하려는 경우 작동하지 않습니다.
p = Post.find(1)
p.user_id = 5
p.save
위의 내용은 포스트 레코드의 user_id 필드를 5로 변경하지 않습니다. 연결을 제거하면 위의 코드가 작동합니다.
연결을 제거하지 않고 user_id 필드를 업데이트하는 방법이 있습니까?
감사합니다.
팀
이 작업을 수행하는 "올바른"방법은 다음과 같이 레일, 모든 무거운 리프팅을 할 수 있도록하는 것입니다
ID를 직접 할당하는 것이 일반적이지는 않지만이 방법도 사용할 수 있습니다. 오류 메시지가 나타 납니까? – zetetic
id = 5 인 사용자가 있습니까? – hade
예, ID가 5 인 사용자가 존재합니다. 오류 메시지가 표시되지 않습니다. 콘솔에서이 작업을 시도하면 사실입니다. 그러나 user_id는 변경되지 않습니다. – Tim