2013-06-20 2 views
0

사용자 입력이 필요한 레일즈 프로젝트 작업을하고 있습니다. URL에 사용자 값을 표시 할 수 있기를 원하며이를 수행하는 방법에 문제가 있습니다.레일은 URL에 값을 저장/표시합니다.

예를 들어, 나는

limit = params[:limit] (where :limit = 10) 

입력 "한계"를 검색하고 나는 URL이

www.someurl.com/myproject/limit="10 "또는 뭔가 같은되고 싶어

답변

1

당신이 찾고있는 URL이 www.someurl.com/myproject?limit=10

, 당신이 myproject라는 경로를 수행 할 수 있습니다 가정 :

컨트롤러에서
link_to "Link Text", myproject_path(limit: 10) 

, 당신은거야 : 당신이 한계에 대한 기본 값을 설정하려는 경우

limit = params[:limit] 

당신이 사용할 수 있습니다

limit = params[:limit] || 10 

또는

limit = params.fetch(:limit, 10) 
+0

감사합니다. 이 다음에는 올바른 경로는 무엇입니까? {: action => "show", : controller => "patient_record", : limit => 10} –

+0

과 일치하는 경로는 표시 작업을 사용하려면 ID가 있어야합니다. 1을 초과하여 표시하려면 index 액션을 사용하십시오. –

0

매개 변수가있는 get 요청에 대한 완벽한 사용 사례입니다. 당신이 (params[:limit]를 통해) 귀하의 질문에 것처럼 이제이 값에 액세스 할 수 있습니다

myproject_path(:limit => 10) # this returns "/myproject?limit=10" 

: 예를 들어 당신이 경로 "/ myproject라는"를 반환 myproject_path라는 URL 헬퍼가있는 경우에, 당신이 뭔가를 할 수 있습니다

희망 사항이 질문에 답변합니까?