나는 평소 게시물과 댓글 컨트롤러/모델과 함께 의견을 남길 수있는 사용자 모델과 함께 꽤 표준적인 블로그 앱을 가지고있다. 레일스 블로그 앱에서 가장 업데이트 된 댓글 업데이트 방법
그래서 사용자 모델에서 나는has_many :comments
그리고 코멘트 모델 매우 정직하고
belongs_to :post
belongs_to :user
모두에서
있습니다.내가 만드는 앱에서 댓글이 약간 다르게 작동하기를 원합니다. 사용자가 처음으로 코멘트를 남기면 새 코멘트를 작성합니다. 그러나 사용자 당 게시물 당 하나의 댓글 만 허용하고 싶습니다. 사용자가 다른 코멘트를 남기려하면 기존 코멘트 만 업데이트해야합니다.
내가 사용자 모델has_many :posts, :through => :comment
에 그리고 내가 show 액션에 다음을 가지고있는 게시물 컨트롤러에이를 추가 한이 작업을 수행합니다.
if post = current_user.posts.find_by_permalink(params[:id])
@comment = post.comments.find_by_user_id(current_user)
else
@comment = Comment.new
end
이 사용자가 이미이 게시물에 댓글을 만든 경우는 검사 점에서 작동 그래서 그것은 주석보다는 게시 된 새에 대한 업데이트가 발생합니다 경우.
하지만 위의 코드는 나와 맞지 않습니다. 보다 우아한 솔루션이 있습니까?
"기존 댓글을 업데이트"란 말의 내용을 새 내용으로 바꾸거나 두 항목을 병합하는 것을 의미합니까? –