2013-04-17 3 views
0

저는 클라우드 파운드리에 대한 프로젝트를 잠시 동안 진행하려고 노력해 왔으며, 궁극적으로이 프로젝트를 생산 모드로 전환 할 때까지 내 문제를 좁혔습니다. 개발 모드에서 생산 모드로 전환 할 때 발생하는 모든 오류 중에서 어떻게 든 예상치 못한 오류가 발생했습니다. 범인은 아래와 컨트롤러에 있습니다 : 코드의이 섹션 아래의 코멘트로드,하지만 아무것도 있습니다레일 생산 모드 '끝'오류?

companiesController < ApplicationController 
    skip_before_filter :require_login 
    end 
    #def new 

. 그냥 완성도를 위해서

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 

, 나는이 응용 프로그램은 또한 하위 도메인을 기반으로 멀티 테넌시 (multi-tenancy)가 포함되어 언급해야 다음 skip_before_filter은 다음과 같습니다 응용 프로그램 컨트롤러에서 전에 필터를 의미한다. 하위 도메인은 데이터베이스의 테넌트 테이블을 기반으로합니다. 나는 단지 내 코드에 대한 혼란을 없애기 위해 이것을 말하고 있지만, 어떻게 든이 문제에 관해 밝혀내는 데 도움이된다면, 그 역시 좋습니다! 필자는 현재 멀티 테넌시 및 하위 도메인에 대한 모든 언급을 꺼내어이 프로젝트를 프로덕션 모드로 전환하기를 원하므로 영향을 미치지 않아야합니다.

정확한 오류 상태는 나와있는 코드에서 해당 단 하나의 끝 부분에 대해 회사의 "예기치 않은 keyword_end, 예상 $ end"입니다. 제 말은 이해가되지 않습니다. 이 끝난다. 왜 불평 할 것은

어떤 도움도 대단히 감사하겠습니다 ... 내 능력 밖입니다.

답변

2

정말 CompaniesController의 코드? 당신은 클래스 대신 다음과 같이 정의되어야한다는 것을 알고 있습니까?

class CompaniesController < ApplicationController 
    skip_before_filter :require_login 
end 

또한 Rails로 멀티 테넌트먼트 작업을 수행하는 경우 해당 작업에 대한 책을 체크 아웃해야 할 수도 있습니다 : Multitenancy with Rails.

+0

나는 같은 대답을 쓰려고했다. 내가 알 수없는 사실은 @Marc 컨트롤러의 코드가 개발 환경에서 어떻게 작동 할 수 있는가하는 것입니다. – Jef

+0

나는 너무나 명백한 것을 놓쳤다는 것을 믿을 수 없다 ... 나는 그것을 바꿨을 것이고 그것을 잊었을 것이다. 나는 몇 시간 동안이 일을하고 있었고 몇 시간 만에 지쳤다. 도움을 주셔서 감사합니다! – Marc