попробуйте ввести этот миксин через extend
вместо include
. По сути, потому что вы вызываете метод mixin из метода класса, но включение mixin делает доступными только его методы экземпляра. Вы можете использовать расширенный стиль, чтобы получить методы класса.
Поиск по Ruby включает и расширяет, чтобы узнать различия. Обычный пример - сделать это так:
http://www.dcmanges.com/blog/27
Где вы используете хук included
для смешивания методов уровня экземпляра и класса.
@ Тони - это работает для меня
class User < ActiveRecord::Base
extend Utilities
def self.test
go()
end
end
module Utilities
def go
puts "hello"
end
end
From console:
>> User.test
hello
=> nil
Ни в коем случае я не должен явно вызывать метод с self.