开发者

form_for routing problem with nested resource

开发者 https://www.devze.com 2023-04-04 14:37 出处:网络
Seeing a problem with using form_for with a nested resource where I have remapped the route to be more sensible.

Seeing a problem with using form_for with a nested resource where I have remapped the route to be more sensible.

My routes.rb:

resources :books do
  resources :sections, :controller => 'content_sections'
  member do
    post 'publish'开发者_如何学编程
  end
end

And my _form.html.haml

= form_for [@book, @content_section] do |f|
  -if @content_section.errors.any?
    #error_explanation
      %h2= "#{pluralize(@content_section.errors.count, "error")} prohibited this section from being saved:"
      %ul
        - @content_section.errors.full_messages.each do |msg|
          %li= msg

  .field
    = f.label :name
    = f.text_field :name

This is resulting in this error:

undefined method `book_content_sections_path' for #<#<Class:0x00000103a58238>:0x00000103a4a0e8>

What I'm expecting is book_sections_path but it is failing to take into account the setting in routes.rb.


Since there is no real relationship between models and controllers, then you will need to specify the URL when not using standard conventions:

form_for [@book, @content_section], :url => book_sections_path(@book, @content_section)
0

精彩评论

暂无评论...
验证码 换一张
取 消