Rails - маршруты для вложенных ресурсов - PullRequest
0 голосов
/ 10 апреля 2011

У меня есть контроллер разговоров и контроллер комментариев.

Я хотел бы иметь следующее (из журналов):

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 Ответ

1 голос
/ 10 апреля 2011

ваши рельсовые маршруты на самом деле делают то, что должны делать. если вы перешли на ваш контроллер комментариев с помощью: / id / comment_beta, либо вы должны изменить маршруты с помощью match, либо перейти по правильному URL-адресу:

Если вы создаете новый комментарий, почему вы не используете RESTful маршруты?

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

должен дать вам / разговоры /: id / comments / comment_beta

коллекция, потому что вам не нужен идентификатор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...