路由错误,没有路由匹配[GET]“ / categorys / new”

时间:2018-08-24 17:26:21

标签: ruby-on-rails

表的名称为“类别”,控制器的名称为“类别”。我在路由文件中添加了resources :categories

为什么显示"Routing Error/ No route matches [GET] /categorys/new"?以下是控制器中的代码:

class CategoriesController < ApplicationController
  def new
    @category = Category.new
  end

  def create
    @category = category.build(category_params)

    if @category.save
      redirect_to root_path
    else
      render 'new'
    end
  end

  private

  def category_params
    params.require(:category).permit(:name)
  end
end

2 个答案:

答案 0 :(得分:2)

您定义的路由名为categories,但错误中的URL为categorys -不应该来自URL辅助程序,但也许您是手动构建URL的?无论哪种方式,它都不匹配。

答案 1 :(得分:1)

这是因为resources :categories会产生GET /categories/new端点(以及其他端点),但不会产生GET /categorys/new。有关更多信息,请参见Rails routing guide