Ruby on Rails:Category#new中的NoMethodError

色拉

我一直在关注创建博客的Rails教程。除了文章,我决定创建和分类。但是,我一直在出错

undefined method `categories_path' for #<#<Class:0x3a26d50>:0x37f99f8>

当我一直使用它时,我不知道这是一个错误的变量“ @category”。

耙道:

在此处输入图片说明

这是其余的代码:

class CategoryController < ApplicationController

  def index
    @category = Category.all
  end 

  def new
    @category = Category.new
  end

  def edit
    @category = Category.find(params[:id])
  end

  def show
    @category = Category.find(params[:id])  
  end

  def create
    @category = Category.new(category_params)

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

  def update
    @category = Category.find(params[:id])

    if @category.update(category_params)
      redirect_to @category
    else
      render 'edit'
    end
  end   

  def destroy
    @category = Category.find(params[:id])
    @category.destroy

    redirect_to @category
  end

  private
  def category_params
    params.require(:category).permit(:name, :description, :category_primary)
  end

end

new.html.rb

<h1>New category</h1>

<%= render 'form' %>

<%= link_to 'Back', category_path %>

_form.html.rb

<%= form_for @category do |f| %>
  <% if @category.errors.any? %>
  <div id="error_explanation">
    <h2><%= pluralize(@category.errors.count, "error") %> prohibited
      this category from being saved:</h2>
    <ul>
    <% @category.errors.full_messages.each do |msg| %>
      <li><%= msg %></li>
    <% end %>
    </ul>
  </div>
  <% end %>
  <p>
    <%= f.label :name %><br>
    <%= f.text_field :name %>
  </p>

  <p>
    <%= f.label :description %><br>
    <%= f.text_area :description %>
  </p>

  <p>
    <%= f.label :category_primary %><br>
    <%= f.check_box :category_primary %>
  </p>

  <p>
    <%= f.submit %>
  </p>
<% end %>
玉米

你已经宣布路线Category作为一个单一的资源。它们应该是复数形式

# config/routes.rb
resources :categories

然后,在您的视图中,将所有路径名从单数更改为复数。例如,正确的路径是categories_path,不是category_path

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby on Rails模型中的'NoMethodError:undefined method'

来自分类Dev

Ruby on Rails模型中的'NoMethodError:undefined method'

来自分类Dev

ruby 模块中的 NoMethodError

来自分类Dev

Ruby on Rails的will_paginate-NoMethodError

来自分类Dev

Ruby on Rails教程5.11中Articles#edit中的NoMethodError

来自分类Dev

Ruby:NoMethodError

来自分类Dev

Ruby on Rails的Nil测试-NoMethodError Nil:class

来自分类Dev

Ruby on Rails模型中的<<

来自分类Dev

Ruby on Rails中的Mailer

来自分类Dev

在Ruby on Rails中@或不@

来自分类Dev

ruby on rails 中的 Turbolinks

来自分类Dev

在 Ruby on rails 中解码

来自分类Dev

在Ruby中定义模块内部的方法(NoMethodError)

来自分类Dev

为什么我在Ruby中收到NoMethodError?

来自分类Dev

为什么我在Ruby中收到NoMethodError?

来自分类Dev

NoMethodError Ruby设置

来自分类Dev

Ruby就像DSL中的Ruby

来自分类Dev

用rails在ruby中调用create和new()之间的区别

来自分类Dev

在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

来自分类Dev

Ruby on Rails NoMethodError“未定义的方法'translates'”

来自分类Dev

Ruby on Rails Rspec NoMethodError:未定义的方法“ not_to”

来自分类Dev

在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

来自分类Dev

学习 Ruby on Rails:NoMethodError(未定义方法 `[]' for nil:NilClass):

来自分类Dev

在Ruby / Rails中,“#=>”代表什么?

来自分类Dev

Ruby on Rails中的竞赛条件

来自分类Dev

Ruby On Rails中的类列表

来自分类Dev

在Ruby / Rails中合并数组

来自分类Dev

Ruby on Rails Json中的浮动

来自分类Dev

Ruby on Rails 4中的关联