【问题标题】:How to save ACE Code Editor data into a Rails model?如何将 ACE 代码编辑器数据保存到 Rails 模型中?
【发布时间】:2014-09-11 15:23:07
【问题描述】:

我想将代码保存到 Rails 4.1 中的一个简单模型中。现在,我将 ACE 数据保存到 Rails 表单文本区域中,该区域被放入模型的文本字段中。但是,当我尝试在索引视图中显示代码时,代码已删除换行符和格式。 jQuery-ace 的文档讨论了对 ACE 实例的访问,但我不确定这意味着什么或如何将它与 Rails 模型一起使用。这是文档中的代码:

// Decorator
var decorator = $('.my-code-area').data('ace');

// ACE Code Editor instance
var aceInstance = decorator.ace;

我猜这会返回一个特殊的 Javascript 对象,其中包括“代码”格式,例如换行符。如何使用 Rails 将这些信息捕获到我的模型中,然后能够在其他地方的视图中反刍?

目前我在 Rails form_for 中实例化编辑器,如下所示:

<%= f.text_area :content, class: "my-code-area", rows: "8", style: "width: 100%" %>

<script>
  $('.my-code-area').ace({ theme: 'twilight', lang: 'ruby' })
</script>

我是否必须使用前面提到的 Javascript 并将一些 Javascript 对象添加到我的 Rails 模型中,或者类似的东西?还是我在做视图时也需要使用 ACE?

【问题讨论】:

    标签: javascript jquery ruby-on-rails code-formatting


    【解决方案1】:

    ACE 仅格式化您的代码文本布局,因此不应对您的模型输入进行任何更改。

    你还需要告诉它格式化index视图上的代码,它支持&lt;div&gt;

    类似:

    <div class="my-code-area">
      <%= model.code_attribute %>
    </div>
    
    <script>
      $('.my-code-area').ace({ theme: 'twilight', lang: 'ruby' })
    </script>
    

    【讨论】:

    • 我发现这样做有问题。特别是在尝试提交页面时。它似乎没有保存内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多