ich ein Benutzermodell haben, die eine verknüpfte Spalte hat, die ich als additional_column zu verweisen, wenn ich versuche, die Ansichten/Benutzer aufrufen/_showcase.html.erb TeilRails 3 korrekt mit dynamischen Spalten
Für die komplette Hintergrundgeschichte siehe Rails 3 noob questions using partials correctly, als ich gebeten wurde, die Fragen in zwei Posts zu teilen.
views/users/_showcase.html.erb
<td><img src="<%= user.avatar_url(32) %>" /></td>
<td><%= user.username%></td>
<% additional_columns.each do |column| %>
<td><%= user[column]%></td>
<% end %>
Hier ist, wie ich die berechnete Spalte auf meinem Benutzermodell
class User < ActiveRecord::Base
include ActionView::Helpers::DateHelper
... snip ...
# Get the last 10 users who made Karmunity accounts
scope :get_newest_users , order("created_at desc").limit(10);
# Get 10 users with the highest karma score
scope :get_highest_rated_user, order("karma_score desc").limit(10);
scope :avatar_url
scope :joined
# get the dated they joined in time ago format
def joined
time_ago_in_words(self.created_at)
end
# Get the gravatar image url
def avatar_url (size=nil)
query_string = '';
unless size.nil?
query_string = 's=' + size.to_s
end
"http://www.gravatar.com/avatar/" + Digest::MD5.hexdigest(self.email.strip.downcase) + "?#{query_string}"
end
end
jedoch umgesetzt, wenn ich diesen Code ausführen, user.avatar_url , und wenn ich user.joined manuell eintippe, funktioniert es gut, aber die dynamische Spalte (ich nehme an, es verhält sich wie Benutzer [: verbunden]) gibt eine leere Zeichenfolge zurück. Ich bin mir sicher, dass ich hier etwas Dummes mache, aber ich weiß nicht, wie man berechnete/formatierte Modellwerte dynamisch erhält.
Aus Gründen der Vollständigkeit, dies ist mein Aufruf an den Teil
<%= render :partial => 'users/showcase', :locals => { :id => 'newest_users', :title => 'Newest Users', :users => @newest_users, :additional_columns => [:affiliation,:joined]} %>
ich jede Richtung zu schätzen wissen würde, wie diese App meiner ersten Schienen ist, und ich bin nicht wirklich sicher, welche Art von Fragen, die ich soll fragen.
Danke!