Я хотел бы определить метод класса, используя Module # относительно (https://github.com/37signals/concerning - часть Rails 4.1). Это позволит мне перемещать модули, которые используются одним классом, обратно в класс.Могу ли я определить методы класса с модулем №?
Однако, похоже, я не могу определить методы класса. Учитывая это:
class User < ActiveRecord::Base
attr_accessible :name
concerning :Programmers do
module ClassMethods
def programmer?
true
end
end
end
module Managers
extend ActiveSupport::Concern
module ClassMethods
def manager?
true
end
end
end
include Managers
end
я ожидал бы обе эти работы:
User.manager?
User.programmer?
Но вторая поднимает
NoMethodError: undefined method `programmer?' for #<Class:0x007f9641beafd0>
Как я могу определить методы класса с использованием модуля # относительно?
FWIW, образец проекта: https://github.com/johnnaegle/concerning-example –
https://github.com/37signals/concerning/issues/1 –
Это исправлено в Rails и относительно сейчас. –