[Rails6.0]Action Text로 작성한 내용을 slim으로 표시
Action Text란?
Rails6에서 Action Text가 추가되어 매우 쉽게 리치 텍스트 편집기를 구현할 수 있습니다.
도입에 관해서는 많은 분이 기사로되어 있으므로 여기에서는 할애하겠습니다.
이 Action Text는 has_rich_text
메서드에 지정된 열에 ActionText::RichText
객체를 저장합니다.
예를 들면 다음과 같은 모델이 있었을 때,
app/model/article.rbclass Article < ApplicationRecord
has_rich_text :content
end
저장된 내용은
<%= @article.content %>
라는 형태로 HTML로 꺼낼 수 있습니다.
slim이라고 잘 표시되지 않습니까?
이것이 ERB라면 깨끗하게 출력합니다.
= @article.content
라고 쓰면 HTML이 그대로 문자로 출력되어 버립니다.
이런 HTML 노출의 그대로는 매우 아니지만 사용할 수 없다!
ERB라면 HTML을 태그로 취급해 주기 때문에, ERB로 재작성할 수밖에 없는 것이라고 생각하고 있었습니다만…
= 대신 == 사용
github의 issue에 따르면, slim의 =
는 HTML의 내용을 이스케이프하고 표시 해주는 것 같습니다.
그래서 이 경우는 =
는 아니고 ==
를 사용하는 것으로 HTML의 내용을 이스케이프 하지 않고 표시할 수가 있습니다.
== @article.content
예상대로 결과가 되었습니다!
이스케이프하지 않아도 괜찮습니까?
HTML을 탈출하면 XSS 취약점은 괜찮습니까? 생각했기 때문에
<script>
alert('XSS');
</script>
양식 입력에 포함시켜 저장해 보았습니다.
alert가 표시된다고 생각했지만 ...
script 태그는 제대로 이스케이프 해줍니다. 왜?
슬림 README 을 읽어 보았습니다만 이마이치 이유를 모르겠습니다. 누군가 코멘트에서 교수하실 수 있으면 다행입니다.
요약
토끼도 뿔에도 Action Text와 slim을 양립시킬 수 있어 안심입니다.
뭔가 고쳐야 할 점, 잘못된 설명이 있으면 코멘트 등으로 지적해 주시면 좋겠습니다.
참고문헌
h tps : // / ls lgus s. jp / 아 c 치오 __ xt _ 오 r ゔ ぃ w. HTML
htps // ch. 도 f도 f. 이. jp / b ぉ g / 라 ls6-a c 치온 xt. HTML
Reference
이 문제에 관하여([Rails6.0]Action Text로 작성한 내용을 slim으로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sasakura_870/items/05228da2a34471a4af9d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class Article < ApplicationRecord
has_rich_text :content
end
<%= @article.content %>
이것이 ERB라면 깨끗하게 출력합니다.
= @article.content
라고 쓰면 HTML이 그대로 문자로 출력되어 버립니다.
이런 HTML 노출의 그대로는 매우 아니지만 사용할 수 없다!
ERB라면 HTML을 태그로 취급해 주기 때문에, ERB로 재작성할 수밖에 없는 것이라고 생각하고 있었습니다만…
= 대신 == 사용
github의 issue에 따르면, slim의 =
는 HTML의 내용을 이스케이프하고 표시 해주는 것 같습니다.
그래서 이 경우는 =
는 아니고 ==
를 사용하는 것으로 HTML의 내용을 이스케이프 하지 않고 표시할 수가 있습니다.
== @article.content
예상대로 결과가 되었습니다!
이스케이프하지 않아도 괜찮습니까?
HTML을 탈출하면 XSS 취약점은 괜찮습니까? 생각했기 때문에
<script>
alert('XSS');
</script>
양식 입력에 포함시켜 저장해 보았습니다.
alert가 표시된다고 생각했지만 ...
script 태그는 제대로 이스케이프 해줍니다. 왜?
슬림 README 을 읽어 보았습니다만 이마이치 이유를 모르겠습니다. 누군가 코멘트에서 교수하실 수 있으면 다행입니다.
요약
토끼도 뿔에도 Action Text와 slim을 양립시킬 수 있어 안심입니다.
뭔가 고쳐야 할 점, 잘못된 설명이 있으면 코멘트 등으로 지적해 주시면 좋겠습니다.
참고문헌
h tps : // / ls lgus s. jp / 아 c 치오 __ xt _ 오 r ゔ ぃ w. HTML
htps // ch. 도 f도 f. 이. jp / b ぉ g / 라 ls6-a c 치온 xt. HTML
Reference
이 문제에 관하여([Rails6.0]Action Text로 작성한 내용을 slim으로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sasakura_870/items/05228da2a34471a4af9d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
== @article.content
HTML을 탈출하면 XSS 취약점은 괜찮습니까? 생각했기 때문에
<script>
alert('XSS');
</script>
양식 입력에 포함시켜 저장해 보았습니다.
alert가 표시된다고 생각했지만 ...
script 태그는 제대로 이스케이프 해줍니다. 왜?
슬림 README 을 읽어 보았습니다만 이마이치 이유를 모르겠습니다. 누군가 코멘트에서 교수하실 수 있으면 다행입니다.
요약
토끼도 뿔에도 Action Text와 slim을 양립시킬 수 있어 안심입니다.
뭔가 고쳐야 할 점, 잘못된 설명이 있으면 코멘트 등으로 지적해 주시면 좋겠습니다.
참고문헌
h tps : // / ls lgus s. jp / 아 c 치오 __ xt _ 오 r ゔ ぃ w. HTML
htps // ch. 도 f도 f. 이. jp / b ぉ g / 라 ls6-a c 치온 xt. HTML
Reference
이 문제에 관하여([Rails6.0]Action Text로 작성한 내용을 slim으로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sasakura_870/items/05228da2a34471a4af9d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
h tps : // / ls lgus s. jp / 아 c 치오 __ xt _ 오 r ゔ ぃ w. HTML
htps // ch. 도 f도 f. 이. jp / b ぉ g / 라 ls6-a c 치온 xt. HTML
Reference
이 문제에 관하여([Rails6.0]Action Text로 작성한 내용을 slim으로 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sasakura_870/items/05228da2a34471a4af9d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)