2015-01-20 2 views
1

설치 방법에 배송 방법을 추가하려고합니다 (배송 방법을 처음 추가하는 경우). 이 양식 (admin/shipping_methods/new)을 방문하면 Calculator 드롭 다운에서 사용할 수있는 운송 계산기가 없습니다. 문서에서 Spree는 기본적으로 5 개의 계산기를 제공하지만 아직 사용할 수있는 계산기가 없습니다.Spree Commerce Shipping Calculators를 찾을 수 없음

Spree 2-4-stable을 사용하고 있습니다. 나는 repo를 브라우징했고, 계산기는 거기에있다. 나는 계산기를 연구하여 계산기 배열을 만드는 호출이 어디 있는지 확인했다. 컨트롤러 내의 코드는 다음과 같습니다.

... 
@calculators = ShippingMethod.calculators.sort_by(&:name) 
... 

이렇게하면 빈 배열이 반환되므로 계산기가 표시되지 않습니다.

전 운이 좋지 않은 다른 영역에서 직접 계산기 목록을 가져 오려고했습니다. 내 디렉토리에 rails console을 실행하고 한 번 실행 당연히

# Returns the 5 default calculators 
calculators = Spree::ShippingMethod.calculators 

초기화 경우

# Returns an empty array as well 
@calculators = Spree::ShippingMethod.calculators 

이상한 것은 내가 혼란 스러워요,이다. 레일이 다른 소스에서 끌어 당기는 콘솔입니까? 어떻게하면 콘솔에서 데이터를 가져올 수 있습니까?하지만 응용 프로그램에서는 가져올 수 없습니다. 오류가 없으며 응용 프로그램 내에서 빈 배열입니다.

이렇게하면 배송 방법이 추가되지 않아 설치가 완료되지 않습니다.

의견이 있으십니까?

답변

0

"해답"보다 더 많은 해킹을 생각 하겠지만 어느 방법 이건 해결책입니다.

드디어 Spree 기본값 중 하나를 복제하고 이름을 변경하여 내 배송 계산기를 만들었습니다. 나는 creating a custom Shipping Calculator에 대한 문서를 따라 갔다. 클래스를 복사하고 이름을 바꾼 다음에는 config 메소드를 통해 추가했습니다.

config 문을 추가하면 모든 기본 운송 계산기가 나타납니다! 다른 버그를 생성하는 것처럼, 내 사용자 지정 계산기는 찾을 수 없습니다. 나는 계산기를 추가하는 설정 라인을 없애기로 결정했지만 기본 계산기를 작동시키는 초기 설정 라인을 떠났다. 나는 이것이 어떤 종류의 버그 확신하면서

그래서,이 솔루션은 서버와 붐 다시 시작 config/initializers/spree.rb

config = Rails.application.config 

의 맨 아래에 다음 줄을 추가하는 것이 었습니다! 지금 선택 가능한 계산기.

는 UPDATE :

그냥 테스트하기 위해, 나는 파일에서 설정 라인을 제거하고 다시 배송 계산기를 휴식 것이 있는지 확인하기 위해 디렉토리에서 내 사용자 정의 배송 계산기를 삭제. 이상하게도 여전히 작동합니다. 위의 방법을 사용하여 구성을로드하면 시스템에 상태가 저장되어 계속 작동 할 수 있습니다.

어느 쪽이든, 다른 누군가가 문제를 밝힐 수 있기를 바랍니다.