【问题标题】:How to define a data attribute in a Rails form field to render correctly如何在 Rails 表单字段中定义数据属性以正确呈现
【发布时间】:2016-10-07 05:57:08
【问题描述】:

我希望在我的 Rails 应用程序中实现 Bootstrap Markdown,该应用程序创建了一个 UI,用于使用 markdown 标记文本。

现在在纯 HTML 中,可以通过如下数据属性调用降价按钮:

    <form>
    <input name="title" type="text" placeholder="Title?" />
    <textarea name="content" data-provide="markdown" data-iconlibrary="fa" rows="10"></textarea>
    <label class="checkbox">
      <input name="publish" type="checkbox"> Publish
    </label>
    <hr/>
    <button type="submit" class="btn">Submit</button>
  </form> 

一切正常(在为 Bootstrap Markdown 安装 css 和 js 文件之后)。不过,对于我的项目,我需要将其调整为 Rails 表单字段。使用这个答案,I used a data hash,我这样做了:

  <div class="form-group">
  <div class="field">
    <%= f.label :content %><br>
    <%= f.text_area :content, :cols => "30", :rows => "15", :data => {:provide => "markdown", :iconlibrary => "fa"}, class: "form-control" %>
  </div>
  </div>

奇怪的是它正在渲染——但只有在我在本地运行它时刷新表单之后。

我还重新启动了服务器以刷新资源。相同的行为。刷新页面后完美呈现。

任何想法为什么会这样?我想知道我是否把哈希的想法弄错了。

【问题讨论】:

  • 刷新页面后是什么意思?您是否通过 ajax/turbolinks 加载表单?
  • 很确定您使用的是 turbolinks。禁用它并观察差异

标签: javascript ruby-on-rails twitter-bootstrap


【解决方案1】:

您可以尝试使用这样的数据属性:

<%= f.text_area :content, :cols => "30", :rows => "15", 'data-provide': "markdown", 'data-iconlibrary': "fa", class: "form-control" %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    相关资源
    最近更新 更多