Rails路由错误 - 未初始化的常量ArticlesController

时间:2016-11-07 10:35:54

标签: ruby-on-rails

我在以下帖子中阅读了问题的解决方案,但我无法将它们应用于我的案例:

我正在测试博客,我想为新文章“new.html.erb”创建一个页面。这是代码:

<h1 align="center">Create an article</h1>
<% end %>
<%= form_for @article do |f| %>
<p>
<%= f.label :title %><br/>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :description %><br/>
<%= f.text_area :description %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>

我还创建了一个名为'articles.controller.rb'的控制器:

class ArticlesController < ApplicationController
  def new
    @article = Article.new
  end
end

我在'routes.rb'

中添加了以下行
resources :articles

当我尝试访问我的rails应用程序中的/ articles / new时,它会显示:

  

未初始化的常量ArticlesController

'$ rake routes'给出了以下输出:

      Prefix Verb   URI Pattern                  Controller#Action
        root GET    /                            pages#home
 pages_about GET    /pages/about(.:format)       pages#about
    articles GET    /articles(.:format)          articles#index
             POST   /articles(.:format)          articles#create
 new_article GET    /articles/new(.:format)      articles#new
edit_article GET    /articles/:id/edit(.:format) articles#edit
     article GET    /articles/:id(.:format)      articles#show
             PATCH  /articles/:id(.:format)      articles#update
             PUT    /articles/:id(.:format)      articles#update
             DELETE /articles/:id(.:format)      articles#destroy

这是my app on Github

2 个答案:

答案 0 :(得分:4)

重命名您的控制器

articles.controller.rb articles_controller.rb

您的控制器名称必须以下划线_分隔。

答案 1 :(得分:1)

您的控制器名称错误。

应该是articles_controller.rb而不是articles.controller.rb