我有几本书,用户可以创建然后为他们创建页面。
路线.rb:
resources :books do
member do
get 'pages'
end
end
这提供了一个通过 /books/:book_id/pages 创建新页面的链接
在该页面中,我呈现了部分内容:
<%= render '/pages/new' %>
图书控制器:
def page
@book = Book.find(params[:id])
@page = @book.pages.new
end
但是当参数被传递给页面控制器时 book_id 会丢失:
页面控制器:
def create
@page = Page.new(params[:page])
if @page.save
redirect_to @page
else
render 'new'
end
end
错误处理也变得困难,因为重定向后 id 也消失了。
我相信应用程序的其余部分似乎很好,因为当我通过控制台创建页面时 book_id 被保留。
这是我的第一个应用程序,所以我什至不确定这是否是正确的方法......我怎样才能让它工作?
多谢你们!