2014-09-03 1 views
0

난 후 개체에 대한 코멘트를 만들 사용하고 현재의 컨트롤러 코드는 이것이다 : 그것은이 문서에서 권장하는 방법acts_as_commentable 업데이트하지 않고 만들 수 있습니까?

commentable = @post 
    comment = commentable.comments.create 
    # comment.title = params[:title] #Title not needed 
    comment.comment = params[:comment][:comment] 
    comment.user = current_user 

    gon.post_id = @post.id #for javascript 

    if comment.save 
    .... 

이것은 또한입니다.

(user = current_user ....) 

만들고, 따라서 흐름이 완만 성능에 dB 2 호출을이 피할처럼 .create 기능에 PARAMS를 통과하여이 작업을 수행 할 수있는 방법이 있나요.

또한 public_activity 젬을 사용하고 있다면 쉽게 작업 할 수 있습니다. 왜냐하면 내가 코멘트를 쓸 때마다 데이터베이스에 Created 및 Updated 활동을 추가하기 때문입니다.

Thnaks

답변

0

더 간단한 방법은 실제로 정말 간단했다 .. 당신의 레일 응용 프로그램에 Railscasts for adding commentable

+0

주석 처리가 가능한 모델을 추가하는 것은 그리 어렵지 않습니다. 나는 그것이 보석을 사용하는 것보다 간단하다는 것에 동의하지 않는다. 한 db 쿼리에서 주석을 작성할 수 있습니다. –

+0

@DavidSigley하지만 주석이있는 여러 모델에 대한 여러 사용자의 답장에 여러 의견이있을 경우 코드가 증가합니다 – Milind

+0

어떻게 증가 할 것이라고 생각하는지 설명해 주시겠습니까? 이미 여러 모델을 사용하고 있지만 여전히 코드가 늘어날 것이라고 생각하지 않습니다. –

0

오 commentable 모델을 포함합니다.

comment = commentable.comments.create(:comment => params[:comment], :user => current_user) 

추가 : 해당 기능을 사용하는 경우 제목.

이것이 왜 문서에서 제공되는 해결책이 아닌지 이해가되지 않습니까? 아마도 사용하도록 수정해야합니다.

create(comment_params)