0

我是一名学习 Ruby on Rails 的初学者。抱歉,如果这个问题很明显......

我有两个资源:

书籍和 book_pages

一本书有好几页,我在模型中设置了 belongs_to 和 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 回答