首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >inherited_resources给错了resource_path

inherited_resources给错了resource_path
EN

Stack Overflow用户
提问于 2014-01-03 11:24:48
回答 1查看 133关注 0票数 0

我使用的是Rails 3.2.16和inherited_resources 1.4.1。我需要一个快速的广告定制管理,所以我以这个帖子为例(它对于rails 3.2仍然有效):

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

这就是我的路由文件的样子:

代码语言:javascript
复制
  namespace :backend do
    root to: 'conferences#index'
    resources :conferences do
      resources :talks
      resources :sponsors
    end
  end

我的Backend::ConferencesControllerBackend::SponsorsController都是从Backend::ResourceController继承的,详见博客文章。

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

代码语言:javascript
复制
NoMethodError: undefined method `backend_sponsor_path' for #<Backend::SponsorsController:0x007fa588113e08>

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

有人知道怎么解决这个问题吗?inherited_resources不应该找到正确的路径吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-03 11:33:59

好的,通过将belongs_to :conference添加到SponsorsController中已经解决了问题

代码语言:javascript
复制
class Backend::SponsorsController < Backend::ResourceController
  belongs_to :conference
end

现在,按预期生成路由!:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20902533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档