我试图将对象融合到单个流中。
我创建了一个称为Newsfeed的新模型和控制器。我有它,以便新闻提要has_many:messages和has_many:images图像和消息属于:newsfeed。我现在正在设置控制器,我有:
def index
@messages = Messages.all
@images = Images.all
@feed = ?
end
我如何融合它们,以便当它们各自需要单独格式化时,它们可以从两者中拉出并按时间顺序排列?
任何帮助将不胜感激,谢谢。
最佳答案
您可以执行以下操作:
控制器:
def index
messages = Messages.all
images = Images.all
@feed = (messages + images).order_by(&:created_at)
end
查看index.html.erb:
<%= render @feed %>
查看_feed.html.erb:
<% if feed.is_a? Message %>
<%= render "message", :locals => {:message => feed}%>
<% else %>
<%= render "image", :locals => {:image => feed}%>
<% end %>
并添加2个局部变量_message.html.erb和_image.html.erb
关于ruby-on-rails - 如何在Rails中使用ruby创建Facebook风格的新闻提要?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2242173/