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