因此,我创建了一个包含用户个人资料的网络应用,用户可以根据兴趣搜索其他用户,并创建活动等。我如何在活动页面上添加“有趣的人”和随机显示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>
答案 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 %>
这只是你能做的一个例子。祝你好运!