やったこと
html_safe を使ってみます。
確認環境
$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
$ rails --version
Rails 5.2.3
調査
ファイルを準備します。
app/controllers/tasks_controller.rb
class TasksController < ApplicationController
def index
@message = '<form><a href="#">ddd</a><br>ddd2</form>'
end
end
app/views/tasks/index.html.erb
<%= @message %>
<hr>
<%= @message.html_safe %>
<hr>
<%= sanitize @message %>
出力結果
<form><a href="#">ddd</a><br>ddd2</form>
<hr>
<form><a href="#">ddd</a><br>ddd2</form>
<hr>
<a href="#">ddd</a>
<br>
ddd2
html_safe
より、sanitize
が推奨されているようです。
form タグが表示されなくなっていることが分かります。