将随机的“有趣的人”添加到用户事件中

时间:2013-12-14 19:11:27

标签: ruby-on-rails ruby ruby-on-rails-4

因此,我创建了一个包含用户个人资料的网络应用,用户可以根据兴趣搜索其他用户,并创建活动等。我如何在活动页面上添加“有趣的人”和随机显示5个用户的profile_image,并在每次刷新时进行更改。

_event.html.erb

div id="event_<%= event.id %>">                                                                                                                              
  <div class="span2">                                                                                                                                         
  <% if event.user.profile_image.present? %>                                                                                                                  
    <%= image_tag event.user.profile_image_url(:thumb), class: 'img-polaroid' %>                                                                              
  <% else %>                                                                                                                                                  
    <%= image_tag "profile-placeholder1.png" %>                                                                                                               
  <% end %>                                                                                                                                                   
  </div>                                                                                                                                                      
  <div class="span3">                                                                                                                                         
    <div class="line2">                                                                                                                                       
    <h5><%= link_to_event_owner(event.user) %> Created an Event</h5>                                                                                          
    <h4><%= link_to event.title, event %></h4>                                                                                                                
    <h5><i class="fa fa-map-marker"></i> <%= event.location %></h5>                                                                                           
    <h5><i class="fa fa-calendar-o"></i> <%= event.date.strftime("%A, %B %d, %Y") %></h5>                                                                     
    <h5><i class="fa fa-clock-o"></i> <%= event.time %></h5>                                                                                                  
    <i class="fa fa-dot-circle-o"></i> <medium><strong align-"center"><%= pluralize(event.participants.size.to_s, 'person') %></strong></medium> <br /><br />
        <% event.participants.each do |p| %>                                                                                                                  
            <%= simple_user_avatar(p) %>                                                                                                                      
            <%= p.short_name %> is attending.                                                                                                                 
        <% end %>                                                                                                                                             
    </div>                                                                                                                                                    
  </div>                                                                                                                                                      
</div>                                                                                                                                                        
<div class="clearfix"></div>                                                                                                                                  
<p></p>                                                                                                                                                       

1 个答案:

答案 0 :(得分:1)

您可以通过执行以下操作来完成此操作:

在呈现_event.html.erb(例如show)的控制器事件中执行类似这样的操作


def show
  @event = Event.find(params[:id])
  # get 5 random attendees. I don't know about your model so this is just an example.
  #You could very well search other model. For example, People.order("RAND()").first(5)..
  @intersting_people = @event.attendees.order("RAND()").first(5)
end

然后在你的视图中循环通过@intersting_people并显示

<% @interesting_people.each do |person| %>
  <%= person.first_name %>
<% end %>

这只是你能做的一个例子。祝你好运!