최근에 Rails 3.x에서 Rails 4로 코드를 업그레이드했습니다. 모든 것이 Rails 3.x에서 작동했습니다. 그러나 이제는 내 앱이 더 이상 이름없는 속성 매개 변수를 게시하지 않습니다. 조회수를 제출하십시오. 이 응용 프로그램은 Braintree.js (지불 게이트웨이 스크립트)를 사용하여 게시하기 전에 이름없는 매개 변수를 암호화합니다. 이견있는 사람? 이것은 Rails 4의 강력한 매개 변수로 연결될 수 있습니까? 어떻게 해결할 수 있습니까? 감사.이름없는 속성은 더 이상 게시하지 않습니다
1
A
답변
2
레일 4는 Turbolinks 보석과 함께 배송됩니다. 이 보석은 Ajax를 사용하여 대부분의 응용 프로그램에서 페이지 렌더링 속도를 높입니다. Rails 4 앱을 만들 때 자동으로 포함됩니다. 문제는 Turbolinks와 Braintree.js가 좋지 않다는 것입니다. 그 결과, Braintree.js가 실행되지 않아 암호화 된 신용 카드 정보가 다른 모델 바인딩 된 매개 변수와 함께 게시 될 수 없었습니다. Turbolinks를 gemfile 및 application.js를 통해 비활성화했으며 Braintree가 정상적으로 돌아 왔습니다.
안녕하세요, 나는 Braintree에서 일합니다. "name"속성이없는 필드는 게시되지 않았습니다. 브라우저에서 발생하므로 레일 버전이 중요하지 않습니다. Braintree.js는 "name"매개 변수를 추가해야합니다. Rails 4로 업그레이드 할 때 변경 한 사항으로 인해 올바르게 작동하지 않을 수도 있습니다. [지원 팀에 문의] (http://support.braintreepayments.com/)하거나 실제 코드를 다음 위치에 게시하십시오. 사람들이 문제를 찾을 수 있도록 페이지의 HTML 소스라고도합니다. – agf
여기에 게시하기 전에 Braintree Support에 연락했습니다. 무슨 일이 일어 났는지 알았어. Rails 4에는 Turbolinks 젬이 들어 있습니다. 이 보석은 Ajax를 사용하여 대부분의 응용 프로그램에서 페이지 렌더링 속도를 높입니다. Rails 4 앱을 만들 때 자동으로 포함됩니다. 문제는 Turbolinks와 Braintree.js가 좋지 않다는 것입니다. 그 결과, Braintree.js가 실행되지 않아 암호화 된 신용 카드 정보가 다른 모델 바인딩 된 매개 변수와 함께 게시 될 수 없었습니다. Turbolinks를 gemfile 및 application.js를 통해 비활성화했으며 Braintree는 정상적으로 작동합니다. – Kidada