Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 26th, 2012  |  syntax: None  |  size: 1.37 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Approve or Reject Followers using the Relationship Model from RailsTutorial.org
  2. private
  3.  
  4.     # Return an SQL condition for users followed by the given user.
  5.     # We include the user's own id as well.
  6.     def self.followed_by(user)
  7.         following_ids = %(SELECT followed_id FROM relationships
  8.                     WHERE follower_id = :user_id AND status = "approved")
  9.         where("user_id IN (#{following_ids}) OR user_id = :user_id",
  10.                     { :user_id => user })
  11. end
  12.        
  13. <table summary="Information about following/followers">
  14.   <tr>
  15.     <td class="main">
  16.       <% unless @users.empty? %>
  17.         <ul class="users">
  18.         <% @users.each do |user| %>
  19.         <tr>
  20.             <td><%= image_tag user.avatar.url(:thumb) %></td>
  21.             <td><%= user.full_name %></td>
  22.             <td><%= user.company %></td>
  23.             <td><%= render 'decide_form' if signed_in? %></td>
  24.         </tr>
  25.         <% end %>
  26.         </ul>
  27.         <%= will_paginate @users %>
  28.       <% end %>
  29.     </td>
  30.   </tr>
  31. </table>
  32.        
  33. <div id="follow_form">
  34.   <% if @user.following?(current_user) %>
  35.     <%= render 'reject' %>
  36.   <% else %>
  37.     <tr><%= render 'accept' %></tr>
  38.     <tr><%= render 'reject' %></tr>
  39.   <% end %>
  40.        
  41. <%= form_for current_user.relationships.find_by_followed_id(@user),
  42.          :html => { :method => :delete } do |f| %>
  43.   <div class="actions"><%= f.submit "Unfollow" %></div>
  44. <% end %>