Я создаю вложенные ресурсы Foo и Bar, где Foo has_many Bars и Bar принадлежит_to Foo
Это новый метод в BarsController:
def new
@foo = Foo.find(params[:foo_id])
@bar = @foo.bars.build
end
Это код для Barновое представление:
<%= form_for([@foo, @bar]) do |f| %>
<%= f.text_field :name %>
<%= f.submit "Save" %>
<% end %>
Когда я пытаюсь загрузить страницу "новая полоса", rails говорит, что метод model_name не может быть найден для значения Nil.Любопытно, что этот слегка модифицированный код представления работает:
<%= form_for([@foo, @foo.bars.build]) do |f| %>
<%= f.text_field :name %>
<%= f.submit "Save" %>
<% end %>
Однако, когда я помещаю инструкцию logger.debug в новый метод в BarsController, он никогда не запускается.Rake Routers говорит, и журнал сервера подтверждает, что BarsController # new вызывается действие, но почему не запускается код, который находится внутри нового действия?Я что-то здесь упускаю?