首页 > 解决方案 > 模型中未定义的模块方法

问题描述

lib/modules/file_type.rb

module Modules
  module Type
    def friend_name(type:)
      ...
    end
  end
end

应用程序/模型/car.rb

class Car < ApplicationRecord
  include Modules::Type

  def self.to_array
  ...
  name = friend_name(type: 'test')
  ...
  end
end

但我收到此错误:

undefined method `friend_name'

我不确定为什么会收到此错误。

任何人都可以帮助我吗?

标签: ruby-on-railsrubymodulemodel

解决方案


如果friend_name是类方法,那么而不是在模型中include使用extendCar

extend Modules::Type

include有关和之间的区别的更多信息extend可以在这里找到 -

Ruby中的include和extend有什么区别?

希望有帮助!


推荐阅读