【问题标题】:inherited_resources - go to parent继承资源 - 转到父级
【发布时间】:2010-11-21 23:12:01
【问题描述】:

我有 2 个继承资源(带有 Jose Valim 插件)- 博客和帖子。当然 - 博客 hm 帖子和发布 bt 博客。路由就够了

  resources :blogs, :only => [:show] do
    resources :posts
  end

我还更新了动作帖子#index

  def index
    redirect_to parent_url
  end

按照我的计划 - 在尝试访问 http://devhost/blogs/2/posts 时,我将被重定向到 http://devhost/blogs/2,但我看到路由错误

No route matches {:action=>"show", :controller=>"blogs"}

很奇怪,因为我看到了

blog GET    /blogs/:id(.:format)        {:controller=>"blogs", :action=>"show"}

rake 路线上。

任何想法 - 可能导致以下错误的原因是什么?

【问题讨论】:

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


    【解决方案1】:

    似乎没有设置父(博客),因为它不存在于路由参数中。 您是否将 belongs_to 添加到 PostsController 中?

    PostsController < InheritedResources::Base
      belongs_to :blog
      ...
    

    【讨论】:

    • 是的,当然!我正在尝试将操作“blogs#show”和“posts#index”与描述的代码片段结合起来。也许你知道更好的方法?
    • 我已经更改了到资源的路由:blogs, :except => [:show] do resources :posts end match 'blogs/:blog_id' => 'posts#index' 但不确定是最好的解决方案
    猜你喜欢
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多