 <p>Use single table inheritance of Post model</p> <pre><code> class class Post &lt; ActiveRecord::Base ..... end </code></pre> <p>Than inherit this Post model into these model.</p> <pre><code>class VideoPost &lt; Post end class ImagePost &lt; Post end </code></pre> <p>At migration you need to create a type column for different type of post. For details look at this <a href="http://blog.thirst.co/post/14885390861/rails-single-table-inheritance" rel="nofollow">blog post</a></p>