¿Por qué no puede tener una clave foránea en una asociación polimórfica?

¿Por qué no puede tener una clave foránea en una asociación polimórfica, como la representada a continuación como un modelo Rails?

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

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