我有一些看起来像这样的模型:
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)
?
答案 0 :(得分:0)
这不是多态的,而是单表继承。
我假设您将继承ActiveRecord :: Base到Fruit。
将列type
添加到水果表中。
现在你可以edit_fruit_path(@apple)
,它将是Apple对象。