2011-12-19 3 views
0

이것은 내 첫 번째 레일 프로젝트이며 첫 번째 레일 포스트이기 때문에 자신을 표현하는 데 어려움이 있습니다. 나는 주변을 둘러 보았지만 단순한 것이라고 생각한 것에 대한 답을 찾을 수 없었다.Ruby on Rails : button_to는 절대 경로를 사용하지만 상대 경로가 필요합니다.

문제는 사용자에게 버튼을 선물하는 레일 앱이있어서 사용자가 SSL을 사용하는 경우에도 양식 동작에 http : //로 시작하는 전체 경로가 있으므로 버튼을 클릭하는 경우입니다. 그들은 암호화되지 않은 데이터에 대한 어리석은 경고를 보게됩니다. 나는 여기에 버튼을 생성하는 코드 (HAML)의 ... 양식 액션 URL이 /로 시작하려면 :

%li= button_to "Pay by Mail", mail_in_payment_new_org_contact_student_application_app_fee_payment_url(@org, current_user.contact, current_application), :method => "get" 

불행하게도, 나는 프로젝트로 다이빙 그리고 난 익숙하지있는 언어, 나는 전에도 HAML을 보지 못했습니다. mail_in_payment_new_org_contact_student_application_app_fee_payment이 리소스를 완전히 이해할 수 없으며 레일스가이를 기반으로 URL을 생성하는 방법도 알지 못합니다.

정보가 도움이 될 것입니다.

대단히 감사합니다.

답변

3

사용

mail_in_payment_new_org_contact_student_application_app_fee_payment_path

대신 요컨대

mail_in_payment_new_org_contact_student_application_app_fee_payment_url

의 상기 _url 헬퍼 _path이 상대적 절대적이다. 그들에 관해서는 here을 읽을 수 있습니다. config/routes.rb의 내용을 게시하면 그 도우미 메서드가 무엇을 구성하는지 설명하는 데 찌를 것입니다.

1
mail_in_payment_new_org_contact_student_application_app_fee_payment_url(@org, current_user.contact, current_application) 

은 전체 URL을 생성하는 레일스 도우미입니다. 당신은 무슨 일이 일어나고 있는지의 세부 사항은 깊이 묻혀 있지만, 그것은 당신의 설정/routes.rb 파일을 기반으로 'URL'

mail_in_payment_new_org_contact_student_application_app_fee_payment_path(@org, current_user.contact, current_application) 

의 상대 URL 사용 '경로'unstead를 원하시면.

관련 문제