나는이 Gravatar를 설정 한 및 위해 일을 가지고 내 'users/*user id goes here*'.
그러나 나는 그것이 나에게 오류를 제공 할 때마다의 dashboard/index
에서 사용하려고 할 때마다Gravatar에 - 전무에 대한 정의되지 않은 방법 '이메일'NilClass
Undefined method 'email' for nil:NilClass
내 대시 보드 컨트롤러는 다음과 같습니다
class DashboardController < ApplicationController
def index
respond_to do |format|
format.html # index.html.erb
format.json { render json: @posts }
end
end
end
대시 보드보기 :
<div class="dash-well">
<div class="gravatar-dashboard">
<%= image_tag avatar_url(@user), :class => 'gravatar' %>
<h1 class="nuvo wtxt"><%= current_user.username.capitalize %></h1>
</div>
</div>
내 응용 프로그램 도우미 :
module ApplicationHelper
def avatar_url(user)
default_url = "#{root_url}images/guest.png"
gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
"http://gravatar.com/avatar/#{gravatar_id}.png?s=200{CGI.escape(default_url)}"
end
def avatar_url_small(user)
default_url = "#{root_url}images/guest.png"
gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
"http://gravatar.com/avatar/#{gravatar_id}.png?s=40{CGI.escape(default_url)}"
end
end
내 사용자 모델 :
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :username, :user_id, :id, :website, :bio, :skype, :dob, :age
has_many :posts
# attr_accessible :title, :body
end
내 대시 보드 모델 :
class Dashboard < ActiveRecord::Base
attr_accessible :status, :author, :email, :username, :id, :user_id, :user, :website, :bio, :skype, :dob, :age
belongs_to :user
end
미안 해요, 난 루비 온 레일에 아주 새로운 해요!
붐! 덕분에 필요한 CURRENT_user에 대해 그것을 분류합니다! 그러나 사용자가 다른 사용자 대시 보드로 이동하고 자신의 gravatar를 볼 수 있도록해야합니다. – coreypizzle
어떻게 이동합니까 .. 사용자에게 링크를 제공하고 있습니까? – codeit
예 링크를 제공하고 있습니다. – coreypizzle