我是初学者,学习Ruby on Rails。如果这个问题非常明显,请道歉......
我有两个资源:
books and book_pages
一本书有几页,我在模型中设置了belongs_to和has_many关联。在书页控制器中,如何在此关联下创建新的book_page?我目前有:
class BookPagesController < ApplicationController
...
def new
@book_page = BookPage.new
end
end
...
另外,我如何设置相应的视图来创建新页面?
答案 0 :(得分:1)
一般来说,你需要使用这样的代码:
book = Book.find(book_id)
book.book_pages.create(page_number: 1, footnote: "yey")
但请注意,您需要在请求中以某种方式获得图书ID。
我强烈建议你不要混淆并阅读rails guides,因为rails使用约定优于配置,如果你没有阅读文档,可能会非常混乱。
答案 1 :(得分: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