Как получить атрибуты связанных моделей из модели в Rails - PullRequest
1 голос
/ 29 декабря 2010

Я хочу сделать псевдоним атрибута в связанной модели в первой модели.Вот мои модели:

class Ingredient < ActiveRecord::Base
    belongs_to :tag
end

class Tag < ActiveRecord::Base
    has_many :ingredients
end

В таблице тегов есть столбец с именем «name».Я хочу иметь возможность вызывать ингридиента.имя, чтобы получить имя.компонента.Я пытался создать методы получения / установки для «имени» в Ingredient, но я не уверен, как получить атрибут «имени» тега.

Ответы [ 2 ]

3 голосов
/ 29 декабря 2010
class Ingredient < ActiveRecord::Base
    belongs_to :tag

    def name
      tag.name
    end
end
1 голос
/ 29 декабря 2010

Однострочник, равный ответу Абдуллы, будет: delegate:

delegate :name, :to => :tag

Если вы хотите, чтобы все было в одной строке.

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