【发布时间】:2018-02-23 15:59:21
【问题描述】:
我在运行我的 Rails 应用程序时遇到以下错误,“未初始化的常量 Blog::PostsController”
routes.rb
Rails.application.routes.draw do
devise_for :authors
root to: 'blog/posts#index'
namespace :author do
resources :posts
end
scope module: 'blog' do
get 'about' => 'pages#about', as: :about
get 'contact' => 'pages#contact', as: :contact
get 'posts' => 'posts#index', as: :posts
get 'posts/:id' => 'posts#show', as: :post
end
end
posts.controller.rb
module Blog
class PostsController < BlogController
def index
@post = Post.most_recent
end
def show
@post = Post.friendly.find(params[:id])
end
private
def set_post
end
end
end
目录路径如下:
app/controller/blog/posts.controller.rb
【问题讨论】:
-
为什么
PostsController会继承于BlogController? -
我猜你的文件命名约定是错误的。文件名应为
app/controller/blog/posts_controller.rb而不是app/controller/blog/posts.controller.rb -
Araratan - 正是它的设计方式。
标签: ruby-on-rails