我有一个弹出窗口,我想在每个项目之间有一个中断 在内容数据中。
%i.fa.fa-folder.item{"data-content" => "#{folder.doc.map{ |file_id| File.find(file_id).name}.join{"<br />"}.html_safe}",rel: "popover", title: "title:"}
我已将“\n”添加到连接中,但它不起作用。您知道我应该将“\n”放在代码中的什么位置吗?
最佳答案
添加换行符不起作用,因为 HTML 会忽略任何空格/换行符以尽可能连续地格式化字符串。所以你必须使用 <br/>
在 HTML 中添加明确的换行符。但是,现在,在 Rails 中,为了安全起见,任何字符串都将被 html 转义,除非您明确指示 Rails 不这样做。
所以在您的情况下,您想要构建文件列表,声明它是安全的,然后设置为内容。有点像
- file_list = folder.doc.map{|file_id| File.find(file_id).name}.join('<br/>').html_safe
%i.fa.fa-folder.item{data: {content: file_list, html: "true", rel: "popover", title: "title:"}
其次,因为您正在使用 Bootstrap 来呈现弹出窗口,您还必须指示 Bootstrap 弹出窗口 data-content
被解释为 html,不应转义(通过设置 data-html
属性)。
关于javascript - 如何在数组中换行或打断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54367689/