2012-01-19 5 views
0

Хитрый вопрос ...respond_with и пространств имен

Предположим следующие модели:

class Foo::Bar < ActiveRecord::Base 
class Foo::Nut < ActiveRecord::Base 

Следующий маршрут:

namespace :admin do 
    resources :bars do 
    resources :nuts do 

В создании действия для орехов в/админ/бары/100/орехи, я создаю модель, основанную на данных post, и хотел бы ответить:

@respond_with(:admin, @bar, @nut) (where bar and nut had been set up in the action) 

Я представил с этой прекрасной ошибкой:

NoMethodError (undefined method `admin_foo_bar_foo_nut_url') 

Я хотел бы рельсы искать admin_bar_nut_url и не admin_foo_bar_foo_nut_url.

Любые идеи, если я могу обойти это? Ясно, что что-то с тем, что мои модели определяют в модулях ...

Предпочитаете отказаться от пространства имен моделей, но может, если нужно.

Большое спасибо!

+0

У меня та же проблема, кроме того, что мой «Foo» было бы «Admin» в вашем дело. –

ответ

0

Я не понимаю, почему вы должны уйти с пространством имен, а не использовать respond_to вместо respond_with

respond_to do |format| 
    format.html { redirect_to(admin_bar_nut_url(@bar, @nut)) } 
    end 
Смежные вопросы