0
每个项目都可以有一个单页:路由具有一种关系的嵌套资源?
resources :project do
resource :page
end
class Project < ActiveRecord::Base
has_one :page
end
class Page < ActiveRecord::Base
belongs_to :project
end
def new
@project = Project.find(params[:project_id])
@page = @project.build_page
respond_to do |format|
format.html
end
end
def create
@project = Project.find(params[:project_id])
@page = @project.build_page(params[:page_id])
respond_to do |format|
if @page.save
format.html { redirect_to @page, :notice => 'Page was successfully created.' }
else
format.html { render action: "new" }
end
end
end
但是当我去保存网页,我不仅获得了路由错误,但它实际上并没有保存到数据库。
Routing Error
No route matches [POST] "/projects/2/pages"
我的表单操作是这样的:
<%= form_for([@job, @page]) do |f| %>
有没有人有什么事情的任何想法?我从其他SO帖子中将所有这些都拼凑在一起,但是我越来越多地在这里或那里换行,我觉得我正在从一个可行的解决方案中进一步发展。例如,如果我将表单动作更改为:
<%= form_for @page, url: job_page_path(@job) do |f| %>
一切都神奇地工作,但编辑操作仍然中断。我屠杀的基本概念是什么?
谢谢! --mark