0

railscast과 유사하게 중첩 된 특성에 대한 양식을 만들려고합니다. 내 응용 프로그램에서는 노드가 질문을 첨부 할 수 있습니다. 하나의 양식이 노드와 질문 모두에 대한 속성을 설정할 수 있기를 바랍니다. 이것은 모델에 정의되어중첩 된 양식에서 중첩 된 특성 항목을 올바르게 만드는 방법은 무엇입니까?

... 
has_many :questions 
accepts_nested_attributes_for :questions 

node.rb 나는 질문을 받아들이 양식을 작성하는 방법을 정확히 확인하지 않았다. 이것은 현재 :

<%= f.fields_for @node.questions do |builder| %> 
    <%= render 'question_form', f: builder %>  
    <% end %> 

질문 양식은 관련 필드를 렌더링합니다.

노드 컨트롤러는 현재 속성에 의존 제대로 불구하고 전달되는 :

def new 
@node = current_user.nodes.build 
//also tried building a question 

def create 
@node = current_user.nodes.new(params[:node]) 
@node.save... 
//anything else needed? 

nodes_controller.rb 어떻게 성공적으로 질문을 만들 수있는 양식을받을 수 있나요?

답변

0
@node = current_user.nodes.new(params[:node]) 

CURRENT_USER 변수를 가정

@node = current_user.nodes.create(params[:node]) 

해야한다 초기화, 당신은 attr_accessible 사용하여 '대량 할당'으로 양식에서 저장되는 모든 속성을 표시 한 것으로, 그것을 작동합니다

new 메서드는 DB에 저장하지 않고 개체를 만듭니다. create은 DB에 저장합니다.

+0

죄송합니다. 아래에 해당 코드가 있습니다. 위 코드를 업데이트했습니다. 노드가 생성되고 질문 만 생성됩니다. –

+0

컨트롤러가 얻는 요청 매개 변수를 추가하십시오 ('create' 작업에 대한 요청을 위해 development.log 파일이나 서버 콘솔에 가져와야합니다). –

관련 문제