respond_with和名称空间

时间:2012-01-19 00:58:41

标签: ruby-on-rails ruby-on-rails-3

棘手的问题......

假设以下型号:

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

以下路线:

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

在/ admin / bars / 100 / nuts的坚果创建动作中,我根据帖子数据创建模型,并希望回复:

@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')

我想让rails找到admin_bar_nut_url而不是admin_foo_bar_foo_nut_url。

任何想法,如果我可以解决这个问题?显然,让我的模型在模块中定义......

宁愿放弃模型命名空间,但如果必须的话,可以放弃。

非常感谢!

1 个答案:

答案 0 :(得分:0)

我不明白为什么你需要使用名称空间而不是使用respond_to而不是respond_with

 respond_to do |format|
    format.html { redirect_to(admin_bar_nut_url(@bar, @nut)) }
  end