无法理解Rail中的Base类

时间:2014-03-26 12:29:00

标签: ruby-on-rails

我有一个类型

的代码
Module Themes
  class NewTheme < Themes::Base
    def1
    end

    def2
    end
  end
end

当我尝试使用Themes :: NewTheme.instance创建一个新主题的实例时,实例为空,这里有什么问题?什么是:: Base?我无法在任何地方找到解决方案

1 个答案:

答案 0 :(得分:0)

你应该说NewTheme.new而不是Themes::NewTheme来实现你的课程。

对于基类,它只是一种“最终”父类 - 一个没有父类但有子类(可能只有几个或多个)的类。以下是ActiveRecord::Base

的示例
class Song < ActiveRecord::Base
  # Uses an integer of seconds to hold the length of the song

  def length=(minutes)
    write_attribute(:length, minutes.to_i * 60)
  end

  def length
    read_attribute(:length) / 60
  end
end

在这种情况下,类Song获取ActiveRecord :: Base中定义的所有方法免费'