路由错误未初始化的常量 ArticleController [英] Routing Error uninitialized constant ArticleController
问题描述
我是 Ruby on rails 的新手.我在 app/controllers/articles_controler.rb 中编写了代码
I am new to Ruby on rails.I written the code in app/controllers/articles_controler.rb
def create
@article = Article.new(article_params)
@article.save
redirect_to @article
end
private
def article_params
params.require(:article).permit(:title, :text)
end
当我打开 rails 服务器时,我收到错误消息,因为路由错误未初始化常量 ArticleController.
When i opened the rails server i got error as Routing Error uninitialized constant ArticleController.
在 config/routes.rb 我有以下代码
In config/routes.rb I have the following code
Rails.application.routes.draw do
get 'articles/new'
resources :article
root 'welcome#index'
end
推荐答案
控制器名称为复数
class ArticlesController < ApplicationController #notice, it is Articles
这意味着,在您的 config/routs.rb
中,您需要有一个映射到 articles
(复数)的路由.
This means, in your config/routs.rb
, you need to have a route that maps to articles
(plural).
这肯定意味着,在您的 config/routes.rb
中,您有一个 resources :article
.所以路由被映射到一个名为 Article
的控制器,你没有它,无论如何这是不正确的.这就是为什么您会收到 Routing Error uninitialized constant ArticleController
因为它找不到名为 Article
(singular)
this surely means, in your config/routes.rb
, you have a resources :article
.
and so the route is being mapped to a controller named Article
, which you don't have it, and which is incorrect anyway. this is why you are getting Routing Error uninitialized constant ArticleController
because it can't find a controller named Article
(singular)
应该是resources :articles
.这样,它就会寻找一个控制器名称 Articles
It should be resources :articles
. that way, it is going to look for a controller name Articles
底线:控制器名称是复数形式.所以检查你的名字.
bottom line: controller names are pluralized. so check your namings.
这篇关于路由错误未初始化的常量 ArticleController的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!