2012-06-19 5 views
0

어떤 이유로 든이 중첩 된 요소가이 편집 양식에 표시되지 않는 이유를 알 수 없습니다.양식의 중첩 모델이 표시되지 않습니다.

class Book < ActiveRecord::Base 
    has_many :pages 
    accepts_nested_attributes_for :pages 
end 

class Page < ActiveRecord::Base 
    belongs_to :book 
end 

을 Heres 형태

<%= form_for(:book) do |f| %> 
    <p><%= f.text_field(:title) %></p> 
    <%= f.fields_for :pages do |page| %> 
    <p><%= page.text_field(:page_no) %></p> 
    <% end %> 
<% end %> 

컨트롤러

def edit 
    @book = Book.find(params[:id]) 
end 

이 책의 제목을 표시하지만이 page_no의 나열로 전환 될 때 아무것도 표시되지 않습니다. 또한 :pages을 호출 해 보았습니다. 그리고 폼이 왜 만들어지지 않는지 알지 못하므로 페이지 배열을 반환합니다.

변경해야 할 모델에서 뭔가를 내려다 보았습니까?

+0

컨트롤러 코드를 추가 할 수 있습니까? – zsquare

+0

컨트롤러 코드를 추가하고 'belongs_to : book' 대신에'belongs_to : book'을 변경하십시오. – hyperrjas

+0

해당 뷰에 컨트롤러를 추가했습니다. – user827570

답변

0

구축 사용해보십시오

<%= form_for(@book) do |f| %> 

대신

<%= form_for(:book) do |f| %> 
+0

오류가 정의되지 않았습니다. 'book_path' – user827570

+1

경로에 'resources : books'가 있습니까? (또 다른 문제입니다) –

+0

실제로 트릭을했는데 리소스가 없습니다. – user827570

-1

으로 시도 도서 모델에

attr_accessible :pages_attributes 

를 추가해야 할 수도 있습니다.

def edit 
    @book = Book.find(params[:id]) 
    @book.pages.build 
end 
관련 문제