обработка исключений во вложенных ресурсах с помощью Mongoid :: Errors :: DocumentNotFound rails 3.1 - PullRequest
0 голосов
/ 19 января 2012

У меня есть application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery
   rescue_from Mongoid::Errors::DocumentNotFound, :with => :render_not_found
  def render_not_found
   render :file => "#{Rails.root}/public/404.html", :status => 404, :layout => false
  end
end

Затем я звоню

Этот код работает нормально, например, в моем route.rb:

resources :posts

Проблема заключается в том, что если у меня есть такой вложенный ресурс в rout.rb:

resources :users do
 resources :posts
end

У меня есть это в posts_controller.rb

class PostsController < ApplicationController

end

Теперь с этим родителем : пользователи не работают !.У меня есть, что записывать в каждом действии от posts_controller.rb этот вложенный ресурс следующий для работы нормально, например.

def show
@post = Post.find(params[:id])
respond_to do |format|
  format.html # show.html.erb
  format.json { render json: @post }
end
rescue
 render_not_found
end

1 Ответ

0 голосов
/ 19 января 2012

В коде вашего контроллера здесь,

class Users::PostsController < ApplicationController

end

у вас есть Users::Posts, но вы не указываете местоположение PostsController на маршрутах выше.

...