首页 > 解决方案 > 为 nil:NilClass 错误获取未定义的方法“builder_photo”

问题描述

我有一个存储在数据库表生成器中的生成器配置文件图像。

我想current_user在导航栏中显示作为构建器配置文件图像的图像。

我用过的sp。

<%= image_tag(@builder.builder_photo.url, class: 'builder-img') %>

这显示了正确的个人资料图像

但在其他页面上显示错误

nil:NilClass 的未定义方法“builder_photo”

我是新来的轨道。请有人帮我解决这个问题。

标签: ruby-on-railsrubymethodspaperclipgrails-controller

解决方案


这是您可以在 rails 中找到的最常见错误之一。任何时候你看到这种格式: undefined method * builder_photo* for nil:NilClass,这意味着 @builder 是 nil (当然 nil 没有builder_photo方法)。这个@builder 变量在哪里定义?

通常你在控制器文件中设置这样的变量,例如:

class CarsController < BaseController
  def index
    @builder = Builder.new(a: 1, b: 2)
  end
end

推荐阅读