У меня есть модель с именем Feature
с переменной body_string
, которая содержит разметку HTML, которую я хотел бы визуализировать, а не экранировать.
Каждый раз, когда я ссылаюсь на body_string
в своих представлениях, мне нужно использовать <%=raw
или .html_safe
. Это кажется излишним и не очень сухим.
Есть ли способ раз и навсегда установить переменную body_string
как html_safe
?
Я предполагаю, что это произойдет в файле app/models/feature.rb
, но я не могу точно определить, какой будет правильный синтаксис. Я думал об этом:
def body_string
return self.body_string.html_safe
end
Но Rails это не нравится; возникает исключение stack level too deep
.
Естественно, я мог определить переменную / метод с другим именем:
def safe_body_string
return self.body_string.html_safe
end
А затем просто измените все ссылки в представлениях с body_string
на safe_body_string
. Но почему-то это выглядит почти так же НЕДОРОГО, как и просто использование raw
или .html_safe
.
Есть идеи, как лучше всего справиться с этим? Я чувствую, что должно быть что-то действительно элегантное, чего я просто не вижу.