Является ли attr_accessible унаследованным производными классами при использовании STI? - PullRequest
2 голосов
/ 07 октября 2010

У меня есть структура классов, подобная этой для семейства классов, использующих STI

class Root < ActiveRecord::Base
   attr_accessible :root_prop
end

class Child < Root
  attr_accessible :child_prop
end

class Grandchild < Child
  attr_accessible :gc_prop
end

Все мои свойства работали нормально, пока я не добавил маркеры attr_accesible, так что я знаю, что это связано с этим,Теперь кажется, что свойства, дающие доступный статус для базовых классов, не устанавливаются.Нужно ли полностью устанавливать attr_accessible для каждого класса или мне нужно искать в другом месте причину, по которой значения не устанавливаются?

1 Ответ

4 голосов
/ 08 октября 2010

Комментарий здесь - ответ. Метод attr_accessible работает для производных классов. Однако при работе с ассоциациями доступный атрибут требует суффикса _id

class Grandchild < Child
  attr_accessible :associated_class_id
  belongs_to :associated_class
end

Это правильный способ пометить ассоциацию с методом attr_accessible. Эта деталь отсутствовала в исходном вопросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...