2

내가 내 production.rb이 설정 한 일치하지 :레일 3.1.3 생산, 자산 파이프 라인은 : 어떤 경로

config.assets.compile = true 

그러나 최근에 사용자가 업로드 한 이미지를 사용하는 동안 나는 아직도이 오류를 받고 있어요

ActionController::RoutingError (No route matches [GET] "/assets... 

여기서 내가 뭘 잘못하고 있니?

프로덕션 환경에서 서버에서 승객과 테스트를 해본 결과 로컬 컴퓨터에서 WEBrick으로 프로덕션 환경에서이를 테스트했습니다.

=====이 해결 =======는

는에이 설정을 내 상황을 고정 내 production.rb

# Don't fallback to assets pipeline if a precompiled asset is missed 
    config.assets.compile = true 

    # Generate digests for assets URLs 
    config.assets.digest = false 
+1

감사합니다. 나는 귀하의 게시물을 볼 때까지 동일한 문제로 몇 시간을 보냈습니다. – jpwynn

+0

정적 자산을 프리 컴파일 할 때 어떤 이점도 얻지 못한다고 생각합니다. 나는 그들이 당신을 찾을 수 없기 때문에 당신이 근본적으로 비 컴파일 된 자산으로 떨어지고 있다고 생각합니다. 이것은 개발 모드에서 앱을 실행하는 것과 같습니다. – henry74

+0

@ henry74이 경우 유일한 이점은 최근에 업로드 한 이미지를로드하려고 할 때 오류가 발생하지 않는다는 것입니다. 그렇지 않으면 업로드 할 때마다 자산을 사전 컴파일해야하므로 프로덕션 서버로 이동하는 방법이 아닙니다. 보다 나은 aproach는 아마존의 S3 'Simple Storage Service'와 같은 별도의 자산 서버를 사용하여 자산을 제공하고 사전 컴파일 된 내부 자산을 그대로 사용하는 것입니다. –

답변

1

당신이하지 serve_static_assets을 할 경우 나에게 정상 :

config.serve_static_assets = false 

이 동작이 기본값입니다.

+0

하지만 이것은'css'와'js'로 엉망이 될까요? –

관련 문제