Для достижения этой цели вы могли бы использовать Single Table Inheritance, но я не уверен, что это лучшее решение.
У вас будет модель Post с обычным столбцом;тело, текст и screencast_url или что-то подобное для вашей скринкаста.Теперь волшебство происходит путем добавления столбца «type» в виде строки.Rails будет использовать это для отслеживания унаследованной модели.
После этого обе модели могут наследоваться от Post.
class Post < ActiveRecord::Base
end
class Screencast < Post
end
class Article < Post
end
Теперь ваш пример кода должен работать так, как вы хотите.Вы можете найти больше информации о STI на этой Rails API странице
Ваш цикл может выглядеть примерно так:
<% @posts.each do |post| %>
<% if post.class == Article %>
do something
<% elsif post.class == Screencast %>
do something else
<% end %>
<% end %>