我正在使用highlight.js并应用此代码初始化我在博客应用上的代码片段的语法高亮显示。
以下代码位于我的index.html页面上:
<script>
$(document).on('ready page:load', function() {
$('pre code').each(function(i, e) {hljs.highlightBlock(e)});
});
</script>
代码段最初应该如下所示:
<pre><code>A
B</code></pre>
在应用新风格后,它变成了这个:
<pre><code class=" hljs">A
B</code></pre>
问题在于,当我尝试在edit.html页面上编辑其中一个帖子时,在编辑器中我获得了程式化版本而不是普通版本,这是我不想要的。我希望新样式仅应用于索引页面。我怎么能做到这一点?
我应该提到我已经生成了一个包含所有包含视图的脚手架:索引,新建,编辑等。
我也安装了jquery-turbolinks gem。
问题就是这样:我加载index.html并获得突出显示的代码。我导航到edit.html并获得突出显示的代码。我刷新了edit.html页面并失去了突出显示(它应该是这样的)。
-------------------------------------------- EDIT-- -----------------------------------
试过这个并且没有用:
在我的aplication.html.erb中:
<body data-action="<%= action_name %>" data-controller="<%= controller_name %>">
在我的index.html.erb
中<script>
var data = $('body').data();
if (data.controller === 'posts' && data.action != 'edit'){
$(document).on('ready page:load', function() {
$('pre code').each(function(i, e) {hljs.highlightBlock(e)});
});
};
</script>
答案 0 :(得分:0)
textField0 = new JTextField();
textField1 = new JTextField();
textField2 = new JTextField();
textField3 = new JTextField();
String names[] = {"Sample text 1", "Sample text 2", "Sample text 3", "Sample text 4"};
for (int i=0; i<4; i++) {
textField[i].setText(names[i]);
}
然后您可以在脚本中阅读:
<body data-action="<%= action_name %>" data-controller="<%= controller_name %>">