我一直在尝试将我的项目放在 Cloud Foundry 上一段时间,最终将我的问题缩小到这个项目进入生产模式。在从开发模式切换到生产模式时出现的所有错误中,我设法得到了一个“意外结束”错误。罪魁祸首在控制器中,如下所示:
  companiesController < ApplicationController
  skip_before_filter :require_login
  end
   #def new
在这部分代码下面有很多注释,但没有别的。skip_before_filter 指的是应用程序控制器中的前置过滤器,如下所示:
  class ApplicationController < ActionController::Base
  protect_from_forgery
  include SessionsHelper    
  before_filter :require_login
 def current_company
   Company.find_by_subdomain! request.subdomain
 end
 helper_method :current_company
 def scope_current_company
   Company.current_id = current_company.id
   yield
 ensure
   Company.current_id = nil
 end
def require_login
  if current_user == nil
    flash[:failure] = "You must log in to access that resource"
     redirect_to signin_path
   end
 end
end
为了完整起见,我还应该提到这个应用程序还包括基于子域的多租户。子域基于数据库中的租户表。我这样说只是为了消除对我的代码的任何困惑,但如果它以某种方式有助于阐明这个问题,那也很棒!目前我已经删除了对多租户和子域的所有引用,只是想让这个项目进入生产模式,所以不应该影响它。
确切的错误状态是您在显示的代码中的平均“意外关键字_end,在公司控制器中期望$end”的单端。但这对我来说没有任何意义,我的意思是它需要在那里结束。为什么它会抱怨超出我的范围......
任何帮助将不胜感激。