0

何らかの理由で、ネストされた要素がこの編集フォームに表示されない理由がわかりません。

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

class Page < ActiveRecord::Base
  belongs_to :book
end

ここにフォームがあります

<%= 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てみたところ、ページの配列が返されるため、フォームが作成されない理由がわかりません。

変更する必要のあるモデルの何かを見落としていますか?

4

3 に答える 3

0

追加する必要があるかもしれません

attr_accessible :pages_attributes 

ブックモデルへ

于 2012-06-19T08:58:22.703 に答える
0

で試してみてください

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

それ以外の

<%= form_for(:book) do |f| %>
于 2012-06-19T10:25:34.197 に答える
-1

ビルドを使用してみてください。

def edit
  @book = Book.find(params[:id])
  @book.pages.build
end
于 2012-06-19T12:21:08.763 に答える