0

我正在使用 Rails 3.2.16 和inherited_resources 1.4.1。我需要一个快速的广告自定义管理员,所以我以这篇文章为例(它仍然适用于 rails 3.2):

http://iain.nl/backends-in-rails-3-1

这是我的路线文件的样子:

  namespace :backend do
    root to: 'conferences#index'
    resources :conferences do
      resources :talks
      resources :sponsors
    end
  end

Backend::ConferencesControllerBackend::SponsorsController他们都继承自博Backend::ResourceController文中详述的内容。

我发现的问题是,每当我进入Sponsors索引页面时,我都会得到NoMethodError

NoMethodError: undefined method `backend_sponsor_path' for #<Backend::SponsorsController:0x007fa588113e08>

resource_path该方法试图找到backend_sponsor_path而不是backend_conference_sponsor_path路由中声明的奇怪之处。

有谁知道如何解决这个问题?应该inherited_resources找不到正确的路径吗?

谢谢!

4

1 回答 1

0

belongs_to :conference好的,通过添加以下内容已解决问题SponsorsController

class Backend::SponsorsController < Backend::ResourceController
  belongs_to :conference
end

现在路线按预期生成!:)

于 2014-01-03T11:33:59.643 回答