Как rails по-разному анализирует html в input_field?

#ruby-on-rails #html #ruby-on-rails-4

#ruby-on-rails #HTML #ruby-on-rails-4

Вопрос:

У меня есть эти 2 строки, выводящие переменную.

  <%= val %>   
 <%= v.input_field :value, value: val%>
  

но выходные данные для одного и того же отличаются.

 <div>this is <strong style="text-decoration: underline;"> <span>underline</span></strong> now</div> 

<div>this is <strong>underline</strong> now</div>
  

что может быть причиной того, что одна и та же вещь анализируется по-разному? и возможное решение? Спасибо.

Ответ №1:

По умолчанию rails экранирует html в шаблонах, если вы хотите, чтобы значение val отображалось как есть <%= val.html_safe %> или <%= raw val %> , но остерегайтесь возможных XSS.