路由错误未初始化的常量 ArticleController [英] Routing Error uninitialized constant ArticleController

查看:53
本文介绍了路由错误未初始化的常量 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆