을 URL에서 벗어나는 매개 변수는 경로 설정 방법에 따라 다릅니다. 이 같은 링크를 보낼 수
map.connect '/signup/:beta', :controller => 'signup', :action => 'beta'
: 당신이 당신의 경로를 지정하는 경우
params[:beta] = "rapunzel"
을 : 현재 경로를 사용하면 얻을 것 mysite.com/signup/rapunzel 대신 당신은 얻을 것이다 베타 매개 변수는 이전과 동일합니다.
양식에 베타 필드를 가져 오려면 양식 페이지 템플릿의 숨겨진 필드로 포함하십시오. 그들이 제휴 프로그램에 가입하고 아마에 후크 할 수 있습니다 적절한 ID를 만들 다음
hidden_field_tag 'beta', @beta_id
: 뷰 템플릿 넣어에서 다음
@beta_id = params[:beta]
: 같은 컨트롤러 넣어 뭔가에
사용자 테이블의 해당 행에서 "베타"테이블의 베타 ID를 포함하는 행으로 연결됩니다. 단일 사용자가 각 베타 ID에 등록 할 수 있도록 허용하려는 경우 베타 테이블에 has_one 연관이 될 수 있으며 여러 사람이 가입 할 수있는 경우 has_many를 사용할 수 있습니다.
아입니다. 따라서 모델은 베타 값이 다른 여러 행 (예 : BetaCode.id 및 BetaCode)이있는 베타 코드입니다.베타) 및 "unless"절이 모든 값을 검사하고 찾지 못하면 잘못된 가입 페이지가됩니까? – Angela
맞습니다. "if! clause"와 같지 않으면. 그것은 루비의 꽤나 혼란스런 관용구 중 하나이며, 많은 사람들이 그런 이유로 사용하지 않습니다. 그것은 개인적인 스타일입니다. :) 그리고 네, 원래 질문에 대한 설명에서 BetaCode를 구상 한 것입니다 : "id"와 "code"행이있는 유효한 베타 코드가있는 항목 테이블. 당신이 실제로 어떻게하는지는 물론 당신에게 달려 있습니다. Daemin의 has_one 제안은 꽤 좋은 것입니다. – Raphomet