我有几本用户可以创建的书籍,然后为它们创建页面。为其他控制器创建表单
的routes.rb:
resources :books do
member do
get 'pages'
end
end
这给出了一个链接,通过/书籍/创建一个新的页面:book_id /页
在该页面渲染我的部分:
<%= render '/pages/new' %>
图书控制器:
def page
@book = Book.find(params[:id])
@page = @book.pages.new
end
但当PARAMS传递给页面控制器book_id丢失:
页控制器:
def create
@page = Page.new(params[:page])
if @page.save
redirect_to @page
else
render 'new'
end
end
而且错误处理变得困难,因为重定向的ID也消失了。
我相信应用程序的其余部分看起来很好,因为当我通过控制台创建页面时,book_id被保留。
这是我的第一个应用程序,所以我甚至不确定这是否是正确的方法来处理它...我如何才能使它工作?
谢谢你们!
我建议你在控制器方法的第一行尝试'raise params.inspect'。你会看到什么是params和哪里。 – C404 2013-04-03 20:34:43