Как заставить form_for работать на вложенном ресурсе - с легким поворотом - PullRequest
2 голосов
/ 11 января 2011

Я хочу добавить / отредактировать дочернюю модель в своей собственной форме, а не в родительской.

любой пример, который я видел, добавляет ребенка в ту же форму, что и родитель. Поскольку я добавляю изюминку добавления / редактирования в отдельную форму, мне интересно, вот почему я получаю следующую ошибку:

неопределенный метод `chapters_path ' ...

routes.rb:

resources :books do
  resources :chapters
end

book.rb:

has_many :chapters

chapter.rb

belongs_to :book

_form.html.erb:

<% form_for [@book, @chapter] do |f| %>

Я думаю, что мне все еще нужно использовать методологию гнездового ресурса, так как я хочу добавить ребенка с URL-адресом, таким как books / 1 / chapters / new - потому что это был бы правильный подход rails, нет? или, может быть, я смотрю на это неправильно.

Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 12 января 2011

хорошо - у меня это работает - на случай, если кому-то интересно, вот настройки:

rout.rb

resources :chapters, :only => [:destroy, :update]
resources :books do
  resources :chapters, :only => [:create, :edit, :index, :new, :show]
end

корректировки также требовались для некоторых перенаправленийв главах контроллера

...