Как мне справиться с простой полиморфной ассоциацией в моих взглядах? - PullRequest
1 голос
/ 11 июня 2011

У меня есть несколько моделей, которые выглядят так:

class Basket
  has_many :fruits, :dependent => :destroy
end

class Fruit
  belongs_to :basket  # do I need a polymorphic association here?
end

class Apple < Fruit
  validate :crunchy
end

class Banana < Fruit
  validate :peelable
end

Фрукты абстрактны в том смысле, что вы никогда не создаете, не обновляете и т. Д. Фрукты, а скорее яблоки или бананы.Это означает, что я не могу написать что-то вроде edit_fruit_path(@fruit) в своих представлениях, и оно автоматически разрешается.

Что я должен написать в своих представлениях, чтобы оно всегда разрешалось в edit_apple_path(@fruit) или edit_banana_path(@fruit)?

1 Ответ

0 голосов
/ 11 июня 2011

Это не полиморфное, а наследование одной таблицы.

Я предполагаю, что вы унаследуете ActiveRecord :: Base to Fruit.

Добавьте столбец type к своим фруктамТаблица.

Теперь вы можете сделать edit_fruit_path(@apple), и это будет объект Apple.

...