2011-11-24 2 views
-1

나는 form_for에 대한 의견이 있습니다. Comments belongs_to 문제. 내 issue # show view에 대한 의견 양식이 있는데, 여기에는 my form_for가 있습니다. 내 문제 # show controller action에 주석 객체 @comment를 만듭니다. 양식을 제출할 때 # 컨트롤러 작성 동작을 주석 # 호출합니다. 그러나 나는 issue_id라는 변수가 필요하다. 문제 # show view에 issue_id가 있고 issue_id를 갖도록 @comment 객체를 설정할 수도 있습니다. 그러나 Comments # create controller로 전달되면 issue_id가 params [: comment]에 전달되지 않으므로 주석이 만들어지고 저장되면 거기에 없습니다. 여기 내 파일은 다음과 같습니다내 컨트롤러에 변수를 전달할 수 없습니다.

문제 # 쇼보기 :

<%= form_for @comment do |f| %> 
    <%= render 'comment_fields', :f => f %> 
    <%= f.submit "Submit" %> 
<% end %> 

문제 # 쇼 컨트롤러 :

def create 
    @comment = Comment.new(params[:comment]) 
    @comment.user = current_user 
    @comment.save 
    redirect_to :back 
    end 
:

def show 
    @issue = Issue.find(params[:id]) 
    @votes = Votership.where(:issue_id => @issue.id) 
    @current_user_vote = @votes.where(:user_id => current_user.id).first 
    @comment = Comment.new(:issue_id => @issue.id) 
    end 

과 코멘트 번호는 댓글이 작성되는 컨트롤러를 만들

양식에 숨겨진 필드를 추가하려고 시도했지만 계속해서 값의 해시를 만들었고 키는 t가됩니다. 그는 issue_id하지만 숨겨진 필드의 값을 설정하는 방법을 알 수 없었습니다. 이 작업을 올바르게 수행하려면 어떻게해야합니까?

주석이 소유하고 있습니다. 이슈에는 많은 의견이 있습니다. 앱에 belongs_to 문제가 있습니다. 앱에는 많은 문제가 있습니다.

답변

0

나는 당신의 불평을 실제로 이해하지 못한다. 그러나 나는 당신이 이슈 ID를 코멘트와 함께 저장하려고하는 것을 이해하고있다. 귀하의 양식에 숨겨진 필드가 있어야합니다.

<%= f.hidden_field :issue_id %> 

이것이 해결책이 아니라면 알려 주시면 알려 드리겠습니다. 다시 도와 드리겠습니다.

+0

오 마이! 나는 이것을 오랫동안 일하게하려고 노력 해왔다. .. 이것은 효과가 있었다! 고맙습니다. 지금 ...이게 최선의 방법일까요? 내가 양식의 객체를 준비 할 때 issue_id가 포함되어 있습니다. 주석 #에 해당 정보를 전달하는 더 좋은 방법이 있습니까? –

관련 문제