반응형
Rails에서 문자열을 URL 이스케이프하려면 어떻게해야합니까?
Rails의 RHTML보기에 있다면 URL 이스케이프가 쉽습니다.
<a href="/redirect?href=<%=u target %>">Foo</a>
문자열에서 어떻게 수행합니까? 다음과 같이하고 싶습니다.
<% redirect_href = "/redirect?#{url_escape target}&foo=bar&baz=some_other_stuff" -%>
<a href="<%= redirect_href =>">Foo</a>
사소한 일 이겠죠?
CGI.escape 는 다음을 수행합니다.
<% redirect_href = "/redirect?#{CGI.escape target}&foo=bar&baz=some_other_stuff" -%>
<a href="<%= redirect_href =>">Foo</a>
Rails ( activesupport)는 다음을 정의합니다 Hash#to_param(으로 별칭 지정됨 Hash#to_query).
{foo: 'asd asdf', bar: '"<#$dfs'}.to_param
# => "bar=%22%3C%23%24dfs&foo=asd+asdf"
HTTP 캐싱을 위해 쿼리 키를 정렬한다는 점은 주목할 가치가 있습니다.
Hash#to_param 선택적 네임 스페이스 매개 변수도 허용합니다.
{name: 'David', nationality: 'Danish'}.to_param('user')
# => "user[name]=David&user[nationality]=Danish"
http://api.rubyonrails.org/classes/Hash.html#method-i-to_param
루비 표준 lib의 일부인 어디에서나 사용할 수 있습니다.
사용 중 CGI::escape또는 ERB::Util.url_encode아니지만 URI.encode.
URI.escapeRuby 1.9.2에서 더 이상 사용되지 않습니다. URI.escape와 CGI.escape의 차이점은 무엇입니까?
참조 URL : https://stackoverflow.com/questions/6057972/how-do-i-url-escape-a-string-in-rails
반응형
'Program Club' 카테고리의 다른 글
| Vim 일반 모드에서 빠르게 버퍼 전환 (0) | 2021.01.09 |
|---|---|
| Python / Django : 단위 테스트 결과에 특정 문자열이 포함되어 있다고 주장하는 방법은 무엇입니까? (0) | 2021.01.09 |
| Gradle-Java 플러그인의 jar 파일 이름 (0) | 2021.01.09 |
| 작업을 취소하면 예외가 발생합니다. (0) | 2021.01.09 |
| CSHTML 페이지에서 switch 문 구현 (0) | 2021.01.09 |