我想在其数据属性中显示一个带有一些JSON的文本框。这是我做的事情
<%= f.text_field :time, "data-options" => '{"mode": "timebox"}' %>
但它呈现以下HTML
<input data-options="{"mode": "timebox"}" ...
我想要实现的是
<input data-options='{"mode": "timebox"}' ...
我希望它将属性括在单引号中而不转义内容。我可以用text_field助手吗?
答案 0 :(得分:1)
如果您确定JSON数据始终是安全的,请使用html_safe
或raw
:
#html_safe
<%= f.text_field :time, "data-options" => '{"mode": "timebox"}'.html_safe %>
#raw
<%= f.text_field :time, "data-options" => raw('{"mode": "timebox"}') %>
聚苯乙烯。请注意,我使用单引号而不是mode
和timebox
的双引号。 (因为出于某种原因,当在HTML中呈现时,Rails总是在属性值周围添加双引号。)