Note that there are some explanatory texts on larger screens.

plurals
  1. POGravatar problems with Rails and Devise
    primarykey
    data
    text
    <p>I'm trying to create a simple profile tab which includes a gravatar using Devise, however I keep getting an <code>undefined method</code>email' for nil:NilClass` cant' see where I'm going wrong</p> <p>tab_check.html.erb</p> <pre><code>&lt;div class="tabbable"&gt; &lt;!-- Only required for left/right tabs --&gt; &lt;ul class="nav nav-tabs"&gt; &lt;li class="active"&gt;&lt;a href="#tab1" data-toggle="tab"&gt;Dashboard&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#tab2" data-toggle="tab"&gt;Inbox&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#tab3" data-toggle="tab"&gt;Three&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#tab4" data-toggle="tab"&gt;Four&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#tab5" data-toggle="tab"&gt;Profile&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#tab6" data-toggle="tab"&gt;Account&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;div class="tab-content"&gt; &lt;div class="tab-pane active" id="tab1"&gt; &lt;p&gt;This will be the Dashboard&lt;/p&gt; &lt;/div&gt; &lt;div class="tab-pane" id="tab2"&gt; &lt;p&gt;This will be the Inbox&lt;/p&gt; &lt;/div&gt; &lt;div class="tab-pane" id="tab3"&gt; &lt;p&gt;This will be tab 3&lt;/p&gt; &lt;/div&gt; &lt;div class="tab-pane" id="tab4"&gt; &lt;p&gt;This will be tab 4/p&gt; &lt;/div&gt; &lt;div class="tab-pane" id="tab5"&gt; &lt;%= render 'users/show' %&gt; &lt;/div&gt; &lt;div class="tab-pane" id="tab6"&gt; &lt;p&gt;Account settings sections email etc&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; </code></pre> <p>users_controller.rb</p> <pre><code>class UsersController &lt; ApplicationController def index @users = User.all end def show @user = User.find(params[:id]) end end </code></pre> <p>user.rb</p> <pre><code>class User &lt; 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, :first_name, :last_name # attr_accessible :title, :body has_many :items end </code></pre> <p>users_helper.rb</p> <pre><code>module UsersHelper def gravatar_for(user, options = { size: 50}) gravatar_id = Digest::MD5::hexdigest(user.email.downcase) size = options[:size] gravatar_url = "http://gravatar.com/avatar/#{gravatar_id}.png?s=#{size}" image_tag(gravatar_url, alt: user.name, class: "gravatar") end end </code></pre> <p>finally the _show.heml.erb</p> <pre><code>&lt;div class="row"&gt; &lt;aside class="span4"&gt; &lt;section&gt; &lt;h1&gt; &lt;%= gravatar_for @user %&gt; &lt;%= @user.first_name %&gt; &lt;/h1&gt; &lt;/section&gt; &lt;/aside&gt; &lt;/div&gt; </code></pre> <p>EDIT: Full Stack trace:</p> <pre><code>app/helpers/users_helper.rb:3:in `gravatar_for' app/views/users/_show.html.erb:5:in `_app_views_users__show_html_erb__248270508__620770878' actionpack (3.2.3) lib/action_view/template.rb:143:in `block in render' activesupport (3.2.3) lib/active_support/notifications.rb:125:in `instrument' actionpack (3.2.3) lib/action_view/template.rb:141:in `render' actionpack (3.2.3) lib/action_view/renderer/partial_renderer.rb:265:in `render_partial' actionpack (3.2.3) lib/action_view/renderer/partial_renderer.rb:238:in `block in render' actionpack (3.2.3) lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument' activesupport (3.2.3) lib/active_support/notifications.rb:123:in `block in instrument' activesupport (3.2.3) lib/active_support/notifications/instrumenter.rb:20:in `instrument' activesupport (3.2.3) lib/active_support/notifications.rb:123:in `instrument' actionpack (3.2.3) lib/action_view/renderer/abstract_renderer.rb:38:in `instrument' actionpack (3.2.3) lib/action_view/renderer/partial_renderer.rb:237:in `render' actionpack (3.2.3) lib/action_view/renderer/renderer.rb:41:in `render_partial' actionpack (3.2.3) lib/action_view/helpers/rendering_helper.rb:27:in `render' app/views/static_pages/tab_check.html.erb:25:in `_app_views_static_pages_tab_check_html_erb___410072822_92462190' actionpack (3.2.3) lib/action_view/template.rb:143:in `block in render' activesupport (3.2.3) lib/active_support/notifications.rb:125:in `instrument' actionpack (3.2.3) lib/action_view/template.rb:141:in `render' actionpack (3.2.3) lib/action_view/renderer/template_renderer.rb:47:in `block (2 levels) in render_template' actionpack (3.2.3) lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument' activesupport (3.2.3) lib/active_support/notifications.rb:123:in `block in instrument' activesupport (3.2.3) lib/active_support/notifications/instrumenter.rb:20:in `instrument' activesupport (3.2.3) lib/active_support/notifications.rb:123:in `instrument' actionpack (3.2.3) lib/action_view/renderer/abstract_renderer.rb:38:in `instrument' actionpack (3.2.3) lib/action_view/renderer/template_renderer.rb:46:in `block in render_template' actionpack (3.2.3) lib/action_view/renderer/template_renderer.rb:54:in `render_with_layout' actionpack (3.2.3) lib/action_view/renderer/template_renderer.rb:45:in `render_template' actionpack (3.2.3) lib/action_view/renderer/template_renderer.rb:18:in `render' actionpack (3.2.3) lib/action_view/renderer/renderer.rb:36:in `render_template' actionpack (3.2.3) lib/action_view/renderer/renderer.rb:17:in `render' actionpack (3.2.3) lib/abstract_controller/rendering.rb:110:in `_render_template' actionpack (3.2.3) lib/action_controller/metal/streaming.rb:225:in `_render_template' actionpack (3.2.3) lib/abstract_controller/rendering.rb:103:in `render_to_body' actionpack (3.2.3) lib/action_controller/metal/renderers.rb:28:in `render_to_body' actionpack (3.2.3) lib/action_controller/metal/compatibility.rb:50:in `render_to_body' actionpack (3.2.3) lib/abstract_controller/rendering.rb:88:in `render' actionpack (3.2.3) lib/action_controller/metal/rendering.rb:16:in `render' actionpack (3.2.3) lib/action_controller/metal/instrumentation.rb:40:in `block (2 levels) in render' activesupport (3.2.3) lib/active_support/core_ext/benchmark.rb:5:in `block in ms' /home/toaksie/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/benchmark.rb:295:in `realtime' activesupport (3.2.3) lib/active_support/core_ext/benchmark.rb:5:in `ms' actionpack (3.2.3) lib/action_controller/metal/instrumentation.rb:40:in `block in render' actionpack (3.2.3) lib/action_controller/metal/instrumentation.rb:83:in `cleanup_view_runtime' activerecord (3.2.3) lib/active_record/railties/controller_runtime.rb:24:in `cleanup_view_runtime' actionpack (3.2.3) lib/action_controller/metal/instrumentation.rb:39:in `render' actionpack (3.2.3) lib/action_controller/metal/implicit_render.rb:10:in `default_render' actionpack (3.2.3) lib/action_controller/metal/implicit_render.rb:4:in `send_action' actionpack (3.2.3) lib/abstract_controller/base.rb:167:in `process_action' actionpack (3.2.3) lib/action_controller/metal/rendering.rb:10:in `process_action' actionpack (3.2.3) lib/abstract_controller/callbacks.rb:18:in `block in process_action' activesupport (3.2.3) lib/active_support/callbacks.rb:414:in `_run__447462369__process_action__180978766__callbacks' activesupport (3.2.3) lib/active_support/callbacks.rb:405:in `__run_callback' activesupport (3.2.3) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks' activesupport (3.2.3) lib/active_support/callbacks.rb:81:in `run_callbacks' actionpack (3.2.3) lib/abstract_controller/callbacks.rb:17:in `process_action' actionpack (3.2.3) lib/action_controller/metal/rescue.rb:29:in `process_action' actionpack (3.2.3) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action' activesupport (3.2.3) lib/active_support/notifications.rb:123:in `block in instrument' activesupport (3.2.3) lib/active_support/notifications/instrumenter.rb:20:in `instrument' activesupport (3.2.3) lib/active_support/notifications.rb:123:in `instrument' actionpack (3.2.3) lib/action_controller/metal/instrumentation.rb:29:in `process_action' actionpack (3.2.3) lib/action_controller/metal/params_wrapper.rb:205:in `process_action' activerecord (3.2.3) lib/active_record/railties/controller_runtime.rb:18:in `process_action' actionpack (3.2.3) lib/abstract_controller/base.rb:121:in `process' actionpack (3.2.3) lib/abstract_controller/rendering.rb:45:in `process' actionpack (3.2.3) lib/action_controller/metal.rb:203:in `dispatch' actionpack (3.2.3) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch' actionpack (3.2.3) lib/action_controller/metal.rb:246:in `block in action' actionpack (3.2.3) lib/action_dispatch/routing/route_set.rb:73:in `call' actionpack (3.2.3) lib/action_dispatch/routing/route_set.rb:73:in `dispatch' actionpack (3.2.3) lib/action_dispatch/routing/route_set.rb:36:in `call' journey (1.0.3) lib/journey/router.rb:68:in `block in call' journey (1.0.3) lib/journey/router.rb:56:in `each' journey (1.0.3) lib/journey/router.rb:56:in `call' actionpack (3.2.3) lib/action_dispatch/routing/route_set.rb:600:in `call' warden (1.1.1) lib/warden/manager.rb:35:in `block in call' warden (1.1.1) lib/warden/manager.rb:34:in `catch' warden (1.1.1) lib/warden/manager.rb:34:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call' rack (1.4.1) lib/rack/etag.rb:23:in `call' rack (1.4.1) lib/rack/conditionalget.rb:25:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/head.rb:14:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/params_parser.rb:21:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/flash.rb:242:in `call' rack (1.4.1) lib/rack/session/abstract/id.rb:205:in `context' rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/cookies.rb:338:in `call' activerecord (3.2.3) lib/active_record/query_cache.rb:64:in `call' activerecord (3.2.3) lib/active_record/connection_adapters/abstract/connection_pool.rb:467:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call' activesupport (3.2.3) lib/active_support/callbacks.rb:405:in `_run__496782642__call__984513863__callbacks' activesupport (3.2.3) lib/active_support/callbacks.rb:405:in `__run_callback' activesupport (3.2.3) lib/active_support/callbacks.rb:385:in `_run_call_callbacks' activesupport (3.2.3) lib/active_support/callbacks.rb:81:in `run_callbacks' actionpack (3.2.3) lib/action_dispatch/middleware/callbacks.rb:27:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/reloader.rb:65:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/remote_ip.rb:31:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call' railties (3.2.3) lib/rails/rack/logger.rb:26:in `call_app' railties (3.2.3) lib/rails/rack/logger.rb:16:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/request_id.rb:22:in `call' rack (1.4.1) lib/rack/methodoverride.rb:21:in `call' rack (1.4.1) lib/rack/runtime.rb:17:in `call' activesupport (3.2.3) lib/active_support/cache/strategy/local_cache.rb:72:in `call' rack (1.4.1) lib/rack/lock.rb:15:in `call' actionpack (3.2.3) lib/action_dispatch/middleware/static.rb:62:in `call' railties (3.2.3) lib/rails/engine.rb:479:in `call' railties (3.2.3) lib/rails/application.rb:220:in `call' rack (1.4.1) lib/rack/content_length.rb:14:in `call' railties (3.2.3) lib/rails/rack/log_tailer.rb:14:in `call' rack (1.4.1) lib/rack/handler/webrick.rb:59:in `service' /home/toaksie/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service' /home/toaksie/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run' /home/toaksie/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread' </code></pre> <p>Any pointers very much appreciated. Thanks</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload