2013-04-17 61 views
0

我一直在试图让我的项目在Cloud Foundry上停留一段时间,并最终将我的问题缩小到此项目进入生产模式。在从开发模式切换到生产模式时所遇到的所有错误中,我以某种方式设法得到了“意外结束”错误。罪魁祸首是在一个控制器,看到如下:Rails生产模式'结束'错误?

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 

只是为了完整起见,我还要提到的是这个应用程序还包括基于子域多租户。子域基于数据库中的租户表。我只是这样说,以澄清对代码的任何困惑,但如果它有助于揭示这个问题,那么这也很棒!我已经拿出了所有关于多租户和子域的参考,并且只是想让这个项目进入生产模式,所以不应该影响它。

确切的错误状态是您在显示的代码中的公司控制器中的平均“意外的关键字结束,期待$结束”,它对我没有任何意义,但我的意思是需要有一个到此为止。为什么会抱怨我是无法理解......

任何帮助,将不胜感激。

回答

2

是真正为CompaniesController代码吗?你知道类应该是这样,而不是界定?

class CompaniesController < ApplicationController 
    skip_before_filter :require_login 
end 

另外,如果你正在用Rails做多租户的东西,你可能想看看我的书:Multitenancy with Rails

+0

我正要写相同的答案。我无法弄清的事实是@Marc控制器的代码如何在开发环境中工作? – Jef

+0

我不能相信我错过了那么明显的事情......我必须改变它,然后忘记它。几个小时后,我一直在努力工作,并且精疲力竭!谢谢你们的帮助! – Marc