我在我的應用程序中使用由標準腳手架生成器生成的視圖的「帳戶角色」控制器(對於我的AccountRole模型)。該控制器使用下面的路由配置嵌套到我的賬戶「控制器(我的賬戶模型):使用標準腳手架form_for與定製的寧靜資源:控制器
resources :accounts do
resources :people, :controller => :account_roles
end
這導致路由助手像account_people_path
(/accounts/1/people
)和account_person_path
(/accounts/1/person/1
)。一切都很好。
我的問題是在默認生成的_form.html.erb
部分。這個文件看起來是這樣的:
<%= form_for([@account,@account_role]) do |f| %>
<!-- Rest of form -->
<% end %>
我已經定製了這個觀點,以應付嵌套的資源,但我用我的路由:controller
選項是造成我的問題,我認爲。
我對「新」和「編輯」的觀點(兩者都使用該部分)是導致以下錯誤觀點規格:
ActionView::Template::Error:
undefined method `account_account_role_path' for #<#<Class:0x105334360>:0x105300c18>
我認爲這裏發生了什麼是的form_for是試圖'猜測'這些資源的路線助手。我知道我可以通過將:url
選項用於form_for來覆蓋url,但是這感覺就像是一個cop-out。
我是否錯過了一個明顯的解決方案,使我可以將:控制器路由選項與form_for
的資源導向風格相結合?
是你的模型AccountRole還是Person? – Vadim 2011-03-29 22:27:32
Hi @Vadim,模型是AccountRole。將更新的問題,以明確這一點。 – 2011-03-29 22:33:05