类别#show中的NoMethodError

时间:2016-04-21 07:34:09

标签: ruby-on-rails ruby

嗨,我对ruby很新,并且无法弄清楚为什么nil被传递给我的@category

继承人控制器

class CategoriesController < ApplicationController

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

    def new
    end

    def create
      @category = Category.new(category_params)

      @category.save
      redirect_to @category
    end

    private
      def category_params
        params.require(:category).permit(:name_en, :name_ar, :thumb_url, :pano_url, :isactive)
      end
end

和show.html.erb

<p>
  <strong>Name: (english)</strong>
  <%= @category.name_en %>
</p>

我一直在

  

类别#中的NoMethodError显示未定义的方法`name_en&#39;对于   零:NilClass

我已经坚持了一天半,现在找不到任何帮助的解决方案

2 个答案:

答案 0 :(得分:0)

你在这里将类别拼错为实例变量

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

答案 1 :(得分:0)

更新了代码,没有错误只是错字错误

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

def new
end

def create
  @category = Category.new(category_params)

  @category.save
  redirect_to @category
end

private
  def category_params
    params.require(:category).permit(:name_en, :name_ar, :thumb_url, :pano_url, :isactive)
  end