ruby - Rails 3.2.3 namespaced controllers being overridden by global controllers with same name -


when global application controller loaded first, namespaced application controller not load when loading pages within namespace. application controller looks this:

class applicationcontroller < actioncontroller::base  protect_from_forgery end 

and namespaced application controller looks this:

class admin::applicationcontroller < applicationcontroller  def authenticate_admin!  if current_admin.nil?   redirect_to new_admin_session_url  end end  private   def current_admin   @current_admin ||= admin.find(session[:admin_id]) if session[:admin_id]  end  helper_method :current_admin end 

when use before_filter "authenticate_admin!" this:

class admin::assetscontroller < admin::applicationcontroller   before_filter :authenticate_admin! end 

a "nomethoderror in admin::assetscontroller#new" thrown. occurs when hit global route before namespaced route. if server restarted , namespaced route loaded first works properly.

this happening because happen have admin model (a class) same name namespace.

this google group thread provides explanation of happening.

to fix, either rename model adminuser or if not possibility, renaming namespace fix issue.


Comments

Popular posts from this blog

jquery - Invalid Assignment Left-Hand Side -

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -