我一直在试图让我的项目在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
只是为了完整起见,我还要提到的是这个应用程序还包括基于子域多租户。子域基于数据库中的租户表。我只是这样说,以澄清对代码的任何困惑,但如果它有助于揭示这个问题,那么这也很棒!我已经拿出了所有关于多租户和子域的参考,并且只是想让这个项目进入生产模式,所以不应该影响它。
确切的错误状态是您在显示的代码中的公司控制器中的平均“意外的关键字结束,期待$结束”,它对我没有任何意义,但我的意思是需要有一个到此为止。为什么会抱怨我是无法理解......
任何帮助,将不胜感激。
我正要写相同的答案。我无法弄清的事实是@Marc控制器的代码如何在开发环境中工作? – Jef
我不能相信我错过了那么明显的事情......我必须改变它,然后忘记它。几个小时后,我一直在努力工作,并且精疲力竭!谢谢你们的帮助! – Marc