0

Ruby on Railsの初心者です。この質問が非常に明白である場合は申し訳ありません...

2 つのリソースがあります。

本と book_pages

本にはいくつかのページがあり、モデル内に属している関連付けと has_many 関連付けを設定しています。ブックページのコントローラーで、この関連付けの下に新しい book_page を作成するにはどうすればよいですか? 私は現在持っています:

class BookPagesController < ApplicationController
...

def new
  @book_page = BookPage.new

   end
end

...

また、新しいページを作成するには、対応するビューをどのように設定する必要がありますか?

4

2 に答える 2

1

一般的に言えば、次のようなコードを使用する必要があります。

book = Book.find(book_id)
book.book_pages.create(page_number: 1, footnote: "yey")

ただし、リクエストには本のIDが必要であることに注意してください。

混乱するのをやめてRails のガイドを読むことを強くお勧めします。なぜなら、Rails は構成よりも規則を使用しているため、ドキュメントを読む準備ができていない場合は非常に混乱する可能性があるからです。

于 2013-08-01T20:30:17.077 に答える
0

でテストすることをお勧めしますrails console。これはデバッグに非常に役立ちます。ActiveRecord::Base モデルは、次のような関連付けで初期化できます。

Book.create(
  title: "TITLE",
  book_pages: [
    { text: "blabllblablalblab", number: 1) },
    { text: "kasdhfkjahwkqjrgs", number: 2) }
    # ....
  ]
)

@fotanusの回答も同様に有効です。http://api.rubyonrails.org/classes/ActiveRecord/Base.html

于 2013-08-01T20:31:28.877 に答える