Note that there are some explanatory texts on larger screens.

plurals
  1. PORails: Undefined method 'to_sym'
    primarykey
    data
    text
    <p>I'm getting the following error in my deployed Rails 2.3.5 application:</p> <p>NoMethodError (undefined method `to_sym' for nil:NilClass):</p> <p>My local testing install of the application, which uses Sqlite, doesn't get the error, but my deployed app running Mysql does. The only other difference between the two is I'm running Ruby 1.8.7 on my local machine and 1.8.6 on my deployment server.</p> <p>I've included the code from User.rb and the error log below. I set this up following the Declarative Authorization and Embedded Authorization Railscasts.</p> <p>Any help would be greatly appreciated!</p> <p>EDIT: Here's the code for the application_controller, where I set current_user using before_filter:</p> <pre><code>class ApplicationController &lt; ActionController::Base helper :all helper_method :current_user_session, :current_user before_filter :set_current_user protected def set_current_user Authorization.current_user = current_user end def current_user_session return @current_user_session if defined?(@current_user_session) @current_user_session = UserSession.find end def current_user @current_user = current_user_session &amp;&amp; current_user_session.record end end </code></pre> <p>--</p> <p>User.rb:</p> <pre><code>class User &lt; ActiveRecord::Base acts_as_authentic has_many :products has_many :transactions ROLES = %w[admin dmstaff staff faculty] def role_symbols [role.to_sym] end end </code></pre> <p>The error log:</p> <pre><code>NoMethodError (undefined method `to_sym' for nil:NilClass): app/models/user.rb:10:in `role_symbols' /usr/lib/ruby/gems/1.8/gems/declarative_authorization 0.4/lib/declarative_authorization/authorization.rb:242:in `roles_for' /usr/lib/ruby/gems/1.8/gems/declarative_authorization-0.4/lib/declarative_authorization/authorization.rb:296:in `user_roles_privleges_from_options' /usr/lib/ruby/gems/1.8/gems/declarative_authorization-0.4/lib/declarative_authorization/authorization.rb:161:in `permit!' /usr/lib/ruby/gems/1.8/gems/declarative_authorization-0.4/lib/declarative_authorization/in_controller.rb:580:in `permit!' /usr/lib/ruby/gems/1.8/gems/declarative_authorization-0.4/lib/declarative_authorization/in_controller.rb:109:in `filter_access_filter' /usr/lib/ruby/gems/1.8/gems/declarative_authorization-0.4/lib/declarative_authorization/in_controller.rb:109:in `each' /usr/lib/ruby/gems/1.8/gems/declarative_authorization-0.4/lib/declarative_authorization/in_controller.rb:109:in `all?' /usr/lib/ruby/gems/1.8/gems/declarative_authorization-0.4/lib/declarative_authorization/in_controller.rb:109:in `filter_access_filter' passenger (2.2.5) lib/phusion_passenger/rack/request_handler.rb:95:in `process_request' passenger (2.2.5) lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop' passenger (2.2.5) lib/phusion_passenger/railz/application_spawner.rb:378:in `start_request_handler' passenger (2.2.5) lib/phusion_passenger/railz/application_spawner.rb:336:in `handle_spawn_application' passenger (2.2.5) lib/phusion_passenger/utils.rb:183:in `safe_fork' passenger (2.2.5) lib/phusion_passenger/railz/application_spawner.rb:334:in `handle_spawn_application' passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:352:in `__send__' passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:352:in `main_loop' passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously' passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:163:in `start' passenger (2.2.5) lib/phusion_passenger/railz/application_spawner.rb:213:in `start' passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:262:in `spawn_rails_application' passenger (2.2.5) lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add' passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:256:in `spawn_rails_application' passenger (2.2.5) lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize' passenger (2.2.5) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize' passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application' passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:154:in `spawn_application' passenger (2.2.5) lib/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application' passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:352:in `__send__' passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:352:in `main_loop' passenger (2.2.5) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously' Rendering /var/data/app/current/public/500.html (500 Internal Server Error) </code></pre>
    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