Я пытаюсь создать несколько методов для управления коллекциями объектов.
В моем контроллере есть следующее утверждение
def show
@big = Configuration.find(params[:id]).elements
@custombig = @big.getchanged
end
В модели конфигурации у меня есть:
require 'lib/validation_rules'
class Configuration < ActiveRecord::Base
include ValidationRules
и в моей папке lib есть файл validation_rules:
module ValidationRules
def getchanged()
names =[]
self.each do |pp|
names << pp.name
return names
end
end
end
Идея проста. Та же модель будет нуждаться во многих правилах конфигурации, которые я хочу исключить из контроллера и модели (когда я говорю много, я имею в виду около 200).
Проблема с кодом выше состоит в том, что когда я вызываю его, он говорит мне, что метод не существует, и кажется, что это происходит, потому что @big - это массив конфигураций, а не просто один объект конфигурации.
Когда я пытался применить тот же подход к одному объекту конфигурации, он работает нормально, но в этой версии это не так.
Как я могу получить рельсы для добавления этой "пользовательской" библиотеки методов в арсенал Array по умолчанию?
Напомним, что приведенный выше метод является всего лишь тестом, и не совсем то, что мне нужно сделать, то, что делает код, не является проблемой, но Rails даже не смотрит туда, прежде чем выдает ошибку.
Большое спасибо за вашу помощь!