0
我有嵌套的資源,我試圖爲每個單獨的資源創建表單部分用於每個新的和編輯操作。Rails 3嵌套的資源 - 表單部分只適用於新的或編輯,不是兩個
的routes.rb
resources :accounts, shallow: true, :except => [ :destroy ] do
resources :service, :except => [ :destroy ]
end
如果我用下面的形式部分,編輯表單呈現正確,正確保存更新,但新的形式失敗,錯誤undefined method services_path
/app/views/services/_service_form.html.erb
<%= simple_form_for @service do |f| %>
如果我用下面的形式部分,新的形式正確呈現和正確保存的對象,但編輯表單失敗,錯誤undefined method account_service_path
/app/views/services/_service_form.html渲染。 ERB
<%= simple_form_for [@account, @service] do |f| %>
我試着加入url: service_path(@service)
如圖所示形式塊聲明的兩個版本,但它並沒有解決任何問題。
肯定會有一些顯而易見的東西我錯過了這個工作,我確信我已經有嵌套資源正常工作與過去的單一形式部分,我只是看不到這次有什麼不同。
可能重複:HTTP:// stackoverflow.com/questions/9772588/when-using-shallow-routes-different-routes-require-different-form-for-arguments – ramblex
您是否在編輯操作中設置了@account變量?我認爲它應該與'<%= simple_form_for [@account,@service] do | f |一起工作%>'如果@account由例如'@account = @ service.account'設置。 – Arjan