Как расширить ассоциации has_and_belongs_to_many и has_many, что бы назначить функцию к одному объекту модели?

class Product < ActiveRecord::Base
   has_and_belongs_to_many :specs do
      		def test
			         p 'Hello!'
   		   end
   	end
end

В таком виде Product.last.specs.test выдаст 'Hello!'

А как сделать это:
specs.each do |spec_one| 
   spec_one.test
end
, чтоб назначить функцию к одному объекту модели Spec? (Т.е., чтоб specs[0].test выводил 'Hello!')
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ответы на вопрос 1
@bmalets
достаточно добавить Ваш метод:

def test
    p 'Hello!'
end


в Вашу модель Spec

Кстати нельзя так называть модель - возможны проблемы с тестами, если будете использовать Rspec.
Не советую пробовать программировать на руби, пока не прочитали книжку о руби и гайд по рейлсам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы