Essentail Rails Design Pattern

Write Good Rails Code

類似作用與名稱的 Model 超過 2 個

場景

#TODO

Polymorphic Association

Bad Smell

1
2
class PostComment < ActiveRecord::Base
class PhotoCommenct < ActiveRecord::Base

Good Smell

1
2
3
4
5
6
7
8
9
10
11
12
class Comment < ActiveRecord::Base
    belongs_to :commentable, :polymorphic => true
end

class Article < ActiveRecord::Base
  has_many :comments, :as => :commentable
end

class Photo < ActiveRecord::Base
  has_many :comments, :as => :commentable
end

Comments