[RUBY-ON-RAILS] 어떻게 레일의 URL에서 쿼리 문자열을 얻을 수 있습니다
RUBY-ON-RAILS어떻게 레일의 URL에서 쿼리 문자열을 얻을 수 있습니다
레일에 전달 된 URL 문자열에서 쿼리 문자열을 얻을 수있는 방법이 있습니까?
나는 URL 문자열을 전달하려는 :
http://www.foo.com?id=4&empid=6
어떻게 ID와 EMPID를받을 수 있나요?
해결법
-
==============================
1.당신이 문자열에서 URL이있는 경우 다음 떨어져 당겨 URI 및 CGI를 사용합니다 :
당신이 문자열에서 URL이있는 경우 다음 떨어져 당겨 URI 및 CGI를 사용합니다 :
url = 'http://www.foo.com?id=4&empid=6' uri = URI.parse(url) params = CGI.parse(uri.query) # params is now {"id"=>["4"], "empid"=>["6"]} id = params['id'].first # id is now "4"
정규 표현식으로 자신을 시도하고 그것을하지 않습니다,이 물건에 대한 표준 라이브러리를 사용하십시오.
또한 아래의 랙 :: Utils.parse_query에 대한 QUV의 의견을 참조하십시오.
참고 :
-
==============================
2.
vars = request.query_parameters vars['id'] vars['empid']
기타..
-
==============================
3.루비 레일에 컨트롤러 메소드에서 URL 매개 변수는 키가 매개 변수 이름입니다 해시라고 PARAMS에서 사용할 수 있지만, 루비 등의 "상징"(예. 콜론 접두어). 그래서 예에서 PARAMS [: ID가] [: EMPID] 6 동일 할 4 params가 동일합니다.
루비 레일에 컨트롤러 메소드에서 URL 매개 변수는 키가 매개 변수 이름입니다 해시라고 PARAMS에서 사용할 수 있지만, 루비 등의 "상징"(예. 콜론 접두어). 그래서 예에서 PARAMS [: ID가] [: EMPID] 6 동일 할 4 params가 동일합니다.
나는 좋은을 읽는 것은이 같은 기본 사항을 포함해야한다 튜토리얼 레일 추천 할 것입니다. 여기에 하나의 예이다 -이 더 많이 출현합니다 구글 :
-
==============================
4.
Rack::Utils.parse_nested_query("a=2") #=> {"a" => "2"}
인용 : 이 레일에 루비의 쿼리 문자열 인 것처럼 문자열을 구문 분석
구문 분석 쿼리 문자열 레일 컨트롤러가 수행 방법. 중첩 일반적으로이 릴 사람과 같은 양식 필드 이름을 통해 쿼리 : 이름 = "멋진 [맥주] [칩]"# => "? 멋진 % 5Bbeer % 5D % 5Bchips % 5D = 냉각 ','얻을 슬라이스 앤 다이 싱 '굉장한 해쉬 { "최고"= "{"맥주 "="{ "칩"=> 닐}}}
http://rubydoc.info/github/rack/rack/master/Rack/Utils.parse_nested_query https://github.com/rack/rack/blob/master/lib/rack/utils.rb#L90
-
==============================
5.이것은 최선의 방법은 아니지만, 그것은 작동합니다 :
이것은 최선의 방법은 아니지만, 그것은 작동합니다 :
request.query_string.split(/&/).inject({}) do |hash, setting| key, val = setting.split(/=/) hash[key.to_sym] = val hash end
(: 이름 => 값)이 모든 GET의 PARAMS와 해시를 반환합니다. 아니면 그냥 request.query_string 방법을 사용하여, 당신은 당신의 GET의 PARAMS을 취득하는 형식에 따라 달라집니다. 또한 당신은 레이크 보석에서 request.query_params를 사용할 수 있습니다.
from https://stackoverflow.com/questions/7316656/how-to-get-a-query-string-from-a-url-in-rails by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 액티브는 레일 : 현재 사용자를 제외한 모든 사용자 찾기 (0) | 2020.02.16 |
---|---|
[RUBY-ON-RAILS] 레일 3.0에서 f.error_messages (0) | 2020.02.16 |
[RUBY-ON-RAILS] 이 레일에 루비의 쿼리 문자열 인 것처럼 문자열을 구문 분석 (0) | 2020.02.16 |
[RUBY-ON-RAILS] 어떻게 레일 콘솔에서 고안를 사용하여 사용자가 로그인하는? (0) | 2020.02.16 |
[RUBY-ON-RAILS] 어떻게 활동 지원의 핵심 확장자를 사용하는 (0) | 2020.02.16 |