acts_as_commentable_with_threading gem을 사용하는 양식을 만들려고합니다. 코드를 작성했지만, 몇 가지 문제가 있습니다. 내 주요 관심사는 commentable 객체의 id에 대해 hidden_field를 만들어야한다는 것입니다. 보석의 빌드 인 메소드 build_from을 사용하여 이것을 우회 할 수있는 방법이 있다고 생각합니다. 어떻게하는지 안다면 공유하십시오. 내가 가진 내 노출 컨트롤러에서레일 : acts_as_commentable_with_threading 양식 구현
: 지금이 순간, 여기처럼 내 코드가 어떻게 표시되는지를 보여줍니다
<%= form_for @new_comment, :remote => true do |f| %>
<%= f.text_area :body %>
<%= f.hidden_field :commentable_id, :value => @impression.id %>
<%= f.submit 'Submit' %>
<% end %>
를 그리고 댓글 컨트롤러에 내가 가진 내보기에서
@impression = @book.impressions.find_by_user_id(user)
@new_comment = Comment.build_from(@impression, current_user.id, "")
, 내가 가진 : 주석 모델에서
def create
@comment = Comment.build_from(Userimpression.find(params[:comment][:commentable_id]), current_user.id, params[:comment][:body])
@comment.save
end
:
def self.build_from(obj, user_id, comment)
c = self.new
c.commentable_id = obj.id
c.commentable_type = obj.class.base_class.name
c.body = comment
c.user_id = user_id
c
end
이 가이드는 쇼 뷰 및 부분적인 부분에서 로컬 변수'comment'를 사용하지만 "정의되지 않은 로컬 변수 또는 메소드"오류가 발생합니다. 컨트롤러의 로컬 변수를 어딘가에 선언해야 했습니까? 이 문제를 해결하는 방법을 모르겠습니다. – ahnbizcad