Rails의 j 기능은 무엇을 합니까?
우연히 블로그를 봤는데j
기능을 합니다.에이잭스 스타일 페이지 업데이트에 사용하고 있었어요.
$('#cart').html("<%=j render @cart %>");
그들이 부분적인 부분을 사용해서cart
부분적이지만, 의 요점은 무엇입니까?j
문자열을 JavaScript가 받아들일 수 있는 것으로 변환한다는 기사를 몇 개 찾았습니다만, 그게 무슨 뜻일까요?
피터가 실제로 정답을 올렸어요.하지만 자세히 설명하겠습니다.
아약스의 기본 콘셉트는 잘 아시겠죠?예를 들어, 아약스 방식으로 코멘트를 작성할 수 있도록 합시다.철도에서는 POST 요구에 응답할 수 있습니다.CommentsController
경유:
def create
@comment = Comment.new(params[:comment])
respond_to do |format|
render.js
end
end
즉, 클라이언트로부터의 (jquery/javascript 경유)Ajax 요구가 에 송신되면, 포맷이 인식됩니다(jquery/javascript.js
) 및 _create.disc.erb 파셜로 응답합니다.그런 다음 파셜은 다음과 같이 새 의견을 렌더링합니다.
$('.comments').append("<%=j render @comment %>");
이제 j 또는 excape_javascript 메서드로 이동합니다.일부 악의적인 사용자가 javascript를 포함한 코멘트를 제출할 수 있습니다.이 코멘트는, 다음의 항목을 사용하지 않는 한, 당신의 페이지에서 실행됩니다.j
어떤 방법
JavaScript 세그먼트의 캐리지 리턴 및 단일 따옴표 및 이중 따옴표를 이스케이프합니다.
따라서 브라우저에서 코드가 실행되지 않습니다.
escape_javascript(javascript)
JavaScript 세그먼트의 캐리지 리턴 및 단일 따옴표 및 이중 따옴표를 이스케이프합니다.
에일리어스 j()를 통해서도 사용할 수 있습니다.
철도 관련 자료에서요
언급URL : https://stackoverflow.com/questions/12518526/what-does-the-j-function-in-rails-do
'programing' 카테고리의 다른 글
컨버터를 사용하는 Grails 서비스를 테스트하려면 어떻게 해야 합니까? (0) | 2023.03.28 |
---|---|
WooCommerce의 카트 총 가격 변경 (0) | 2023.03.28 |
누군가가 AngularJS 스코프에 대한 $destroy 이벤트의 예를 제공할 수 있습니까? (0) | 2023.03.28 |
AngularJS: 폼 트리거 내의 모든 버튼이 전송됩니까? (0) | 2023.03.28 |
JSONObject가 null인지 존재하지 않는지 테스트하는 방법 (0) | 2023.03.28 |