2013-04-09 46 views
0

我有一个仪表板控制器,它具有online_user的操作。在视图中,在仪表板下,我有一个部分_online_user.html.haml。其中,我试图显示在线登录用户。这里的代码:如何使用集合从另一个控制器渲染部分?

app/controllers/dashboard_controller 
    class DashboardController < ApplicationController 
     def online_user 
     @online_users = Profile.all(...) 
    end 
    end 

app/views/dashboard/_online_user.html.haml 


%li 
    = link_to profile_path(online_user) do 
    = online_user.name 
    %i.icon-picture 
    %i.icon-th-large 
    %i.icon-camera 
    %i.icon-facetime-video 
    %span.help-block 
     = online_user.try(:age) 
     - 
     = online_user.state.try(:name) 
     , 
     = online_user.country.try(:name) 

所有这一切都到位了,最后一件事就是在另一个视图中渲染它。对?像这样:

= render partial: "dashboard/online_user", collection: @online_users 

但是,当我这样做时,我得到一个空白页。什么都没有呈现。任何人的想法都非常感谢。

谢谢!

回答

0

你检查@online_users是否包含任何东西,是不是空的? 此外,这可能有所帮助:

= render partial: "dashboard/online_user", collection: @online_users, as: :online_user 
+0

谢谢@ARjan。事实上,我确实检查收集是否为空。你的代码示例很好,但在这种情况下它不适用于我。 – 2013-04-21 18:32:30

+0

也不适用于我 – brntsllvn 2015-07-21 00:35:15