복붙노트

[RUBY-ON-RAILS] 3 개 형태의 레일에 루비의 _snowman PARAM은 무엇인가?

RUBY-ON-RAILS

3 개 형태의 레일에 루비의 _snowman PARAM은 무엇인가?

(현재 베타 4를 사용) 레일 3 루비, 나는 볼 그 때 form_tag를 사용하거나 도우미 form_for 게재 (유니 코드 \ x9731) ☃의 값 _snowman라는 이름의 숨겨진 필드가있을 때.

그래서,이 무엇입니까?

해결법

  1. ==============================

    1.이 매개 변수는 유니 코드로 그 파라미터를 인코딩하기 위해 인터넷 익스플로러 (5, 6, 7, 8)을 강요하기 위하여 형태로 첨가 하였다.

    이 매개 변수는 유니 코드로 그 파라미터를 인코딩하기 위해 인터넷 익스플로러 (5, 6, 7, 8)을 강요하기 위하여 형태로 첨가 하였다.

    사용자 라틴 1 브라우저의 부호화를 전환하는 경우 즉,이 버그가 유발 될 수있다. 사용자가, 겉보기에 그렇게 미친 무언가를이 구글 검색을 체크 아웃하기로 결정 이유를 이해합니다. 사용자가 라틴어 1 모드로 웹 사이트를 넣어되면 그들은 모두 라틴어-1과 유니 코드로 이해 될 수있는 문자를 사용하는 경우 (예, E 또는 ç, 이름에 공통 용) Internet Explorer가 라틴어를 인코딩합니다 -1.

    이 의미는 "체 게바라"에 대한 사용자 검색, 서버 측에 잘못을 통해 제공됩니다. 텍스트 불가피 정규 표현 엔진에 길을 만드는 경우 루비 1.9, 이것은 부호화 에러가 발생할 것이다. 루비 1.8에서는 사용자에 대한 깨진 결과가 발생합니다.

    단지 유니 코드 문자로 IE에 의해 이해 될 수있는 매개 변수를 작성하여, 우리는 다음이 UTF-8로 모든 문자를 인코딩 알려주는 동의-charset 속성,보고 IE를 강요, 심지어 사람을 인코딩 할 수 라틴-1.

    루비 1.8, 당신의 UTF-8 데이터베이스로 라틴어 1 데이터를 얻을 매우 사소한 있음을 유의하십시오 (전체 스택 검사에서 아무것도하기 때문에 사용자가 어느 시점에 보낸 바이트가 유효한 UTF-8 문자 있음). 그 결과, 사용자가 완화 수단으로 인코딩을 변경하려고이 사용자 지향 버그를 나타내고, 따라서 매우 일반적인 루비 애플리케이션 (및 PHP 애플리케이션 등등) 매우 일반적이다.

    나는이 패치를 썼을 때, 말했다 모두, 나는 매개 변수의 이름은 지금까지 (이 같은 검색 형태로 GET 작업을 사용하는 양식으로 않습니다) 사용자 대면 장소에 나타나는 것을 깨닫게하지 않았다. 그것은 않기 때문에, 우리는 _E이 매개 변수의 이름을 변경하고, 더 무해한 보이는 유니 코드 문자를 사용합니다.

  2. ==============================

    2.이것은 인터넷 익스플로러 5를 지원하고 형태의 UTF-8을 사용하도록 장려하기 위해 여기에있다.

    이것은 인터넷 익스플로러 5를 지원하고 형태의 UTF-8을 사용하도록 장려하기 위해 여기에있다.

    다음과 같이 여기에 본 커밋 메시지는 자세한 사항 :

    즉, 당신은 안전이 매개 변수를 무시할 수 있습니다.

    우리가 인터넷 익스플로러 (5)와 같은 기존 기술을 지원하는 이유 그럼에도 불구하고, 나는 당신이 저를 요구하는 경우에 그것은 매우 비 루비 레일에 결정처럼 보인다 없습니다 확신합니다.

  3. from https://stackoverflow.com/questions/3222013/what-is-the-snowman-param-in-ruby-on-rails-3-forms-for by cc-by-sa and MIT license