Rails生产模式'结束'错误?

时间:2013-04-17 22:16:42

标签: ruby-on-rails cloudfoundry production-environment

我一直在尝试将我的项目放在Cloud Foundry上一段时间,最终将我的问题缩小到这个项目进入生产模式。在从开发模式切换到生产模式时获得的所有错误中,我以某种方式设法得到“意外结束”错误。罪魁祸首在控制器中,如下所示:

  companiesController < ApplicationController
  skip_before_filter :require_login
  end
   #def new

这段代码下面有很多评论,但没有别的。 skip_before_filter引用应用程序控制器中的before过滤器,如下所示:

  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

为了完整起见,我还应该提到这个应用程序还包括基于子域的多租户。子域基于数据库中的租户表。我只是这样说是为了澄清对我的代码的任何困惑,但如果它以某种方式有助于揭示这个问题,那么这也很棒!我暂时取消了对多租户和子域的所有引用,只是想让这个项目进入生产模式,这样就不会影响它。

确切的错误状态是您所显示的代码中公司控制器中该单端的平均“意外的keyword_end,期望$ end”。虽然对我来说没有任何意义,但我的意思是它需要结束为什么它会抱怨我... ...

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

这真的是CompaniesController的代码吗?你知道这个类应该这样定义吗?

class CompaniesController < ApplicationController
  skip_before_filter :require_login
end

另外,如果您正在使用Rails进行多租户操作,您可能需要查看我的书:Multitenancy with Rails