2012-09-26 3 views
0

내가 (작성 방법) 내 등록 컨트롤러에 다음 코드가있다 :레일 : 등록 컨트롤러 ignroing 조건

respond_to do |format| 
    if discount_code && invalid_discount_code 
    flash[:notice] = error_notification 
    format.html { render action: "new" } 
    elsif already_registered 
    flash.now[:error] = error_notification 
    format.html { redirect_to root_url } 
    elsif @user.save 
    events_history_hash = JSON.parse(@user.events_history) 
    @user.skip_confirmation! 
    sign_in @user 
    if events_history_hash[Current_event_id.to_s]["payment"] && events_history_hash[Current_event_id.to_s]["payment"] == 0 
     flash[:notice] = "Your complimentary registration for this event has been accepted." 
     format.html { redirect_to root_url } 
    elsif auto_approve 
     payment = extract_payment_from_events_history_json(@user.events_history) 
     format.html { redirect_to new_stripe_payment_path(:registration_payment => payment) } 
    else 
     EventMailer.send_email_to_admins_to_process_invite_request(current_user).deliver 
     flash[:notice] = INVITE_REQUEST_RECEIVED 
     format.html { redirect_to root_url } 
    end 
    else 
    format.html { render action: "new" } 
    format.json { render json: @user.errors, status: :unprocessable_entity } 
    end 
end 
코드는 (나의 Mac으로 로컬) 내 개발 환경에 완벽하게 잘 실행하고

이 리디렉션 결제 페이지 나 auto_approve은 사실이지만, 내가 테스트 서버에 내 코드를 업로드하면, 항상 auto_approve가 true로 설정된 경우에도

EventMailer.send_email_to_admins_to_process_invite_request(current_user).deliver 

을 실행합니다. 필자는 테스트 서버에서 콘솔을 실행하여이를 확인했습니다. 또 내가 무엇을 찾고 있어야합니까?

아마도 해킹

:

이 가능한 해킹이지만,이 문제를 해결했습니다. test.rb, 나는 (기본적으로는 test.rb 및 production.rb에서 false로 설정되었지만 development.rb에 true로 설정)

config.serve_static_assets = true 

답변

0

어떻게 false에서 true로 config.serve_static_assets의 값을 변경 auto_approve은 어디에 설정되어 있습니까? 이 테스트 서버는 프로덕션 환경에서 실행됩니까?

+0

내 질문에,이 테스트 서버이며 테스트 환경에서 실행 중입니다. auto_approve는 할인 코드가 코드 테이블과 비교 될 때 설정되며, 'auto_approve'로 설정된 경우 auto_approve가 true로 설정됩니다. auto_approve가 조건 (conditional) 이전에 동일한 메소드 (create)에서 nil로 설정되어 있고 콘솔을 사용하여 모든 코드를 수동으로 실행하여 설정이 올바른지, 그리고 올바르게 설정되었는지 확인하기 때문에 이는 범위 지정 문제는 아닙니다. 하지만 그것은 실제 런타임이 아닌 콘솔입니다. – EastsideDeveloper