Rails - 嵌套资源的路由

时间:2011-04-10 18:16:02

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

我有一个会话控制器和一个评论控制器。

我想做的是拥有以下内容(来自日志):

Started POST "/conversations/217/comment_beta" for 127.0.0.1

发布评论控制器而不是对话控制器,这是Rails现在正在尝试做的事情:

AbstractController::ActionNotFound (The action 'comment_beta' could not be found for ConversationsController):

这是我的路线档案:

  resources :conversations do
    resources :comments, :only => [:create, :update,:destroy, :comment_beta], :constraint => {:context_type => "conversations"} do
      collection do
        post 'comment_beta'
      end
    end
    collection do
      get 'read_updater'
    end
  end

连连呢?感谢

1 个答案:

答案 0 :(得分:1)

您的铁路路线实际上正在做它应该做的事情。如果您通过对话/:id / comment_beta转到评论控制器,您应该通过match更改路线,或者转到正确的网址/对话/:id / comments /:comment_id / comment_beta

如果您要发帖以创建新评论,为什么不使用RESTful路由?

resources :conversations do
  resources :comments do
    collection do
      post 'comment_beta'
    end
  end
end

应该给你/对话/:id / comments / comment_beta

集合,因为您不需要ID