0

所以我一直在本地机器上构建我的粘贴应用程序,我遇到了一个一直困扰我的小问题。我需要弄清楚如何进行语法突出显示。在 PHP 中,我可以传递用户选择:

<select name="paste_syntax">
<option value="ruby">Ruby</option>
<option value="c">C</option>
<option value="html-xml">HTML/XML</option>
<option value="php">PHP</option>
</select>

并使用 $_POST 传递此处选择的变量,以突出显示语法。例如:

<pre class='mypostvar'>some code</pre>

但是,在 Rails 中,我不确定如何执行此操作。我正在考虑在粘贴表中创建一个粘贴列,该列链接到一个 paste_syntax 表,其中包含所有粘贴语法选项。2个是连在一起的。我的问题是,我应该这样做,还是有其他方法?帮助表示赞赏!~阿迪尔

4

1 回答 1

1

我会使用语法荧光笔,然后我不会为此打扰 Rails,但是您可以通过将类更改为代码来更改突出显示,例如使用一些 jQuery:

# coffeescript
jQuery ->
  $('#syntax').change (ev) ->
    selection = $(ev.target).val()
    $('#code').removeClass().addClass('brush: ' + selection);


-# haml
= select_tag :syntax, options_for_select([['ruby', 'ruby'], ['c', 'c']])
%pre#code{class: 'brush: ruby'}= "def ok \n  puts 'ok'\nend"
于 2012-05-06T13:33:16.100 回答