Идентификатор доступа родительской модели из связанной модели в рельсах - PullRequest
1 голос
/ 04 января 2012

хорошо, у меня есть следующие модели в рельсах:

  • 'Осколки'
  • «Реалии», которые принадлежат осколку или ничему не принадлежат
  • «Пространства», которые принадлежат реальности
  • «Свойства», принадлежащие пробелам

Я могу получить доступ к shard.reality.space.first.properties, но я бы хотел иметь возможность доступа к идентификатору 'shard' из пользовательского метода в модели свойств, если к нему обращались таким образом.

Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 05 января 2012
class Property < ActiveRecord::Base
  belongs_to :space

  def custom_method
    space.reality.shard.id if space.reality.shard
  end
end
0 голосов
/ 05 января 2012

В методе экземпляра объекта Property это должно работать:

shard_id = space.reality.shard_id
# returns either the shard id, or nil if the reality doesn't belong to a shard
...