Вы можете написать Module
, используя ActiuveSupport::Convern
, который содержит все методы, которые вам нужны в модели, тогда вы можете include
Модуль в моделях, чтобы расширить модели методами, содержащимися в вашем Модуле. Как это:
module AwsomeModule
include ActiveSupport::Concern
module ClassMethods
# awesome class methods here
end
module InstanceMethods
# awesome instance methods here
end
end
Тогда в Model просто включите ваш Модуль. Для представлений вы можете использовать Partials и дать им объект с помощью параметров object
и as
, например:
render 'layouts/awesome_partial', :object => @instance_var, :as => :data
Затем в Частичном вы не можете получить доступ к объекту, указанному с помощью переменной data
.