我的表格看起来像这样:
<%= form_for(:post, :url => {:action => 'create'}) do |f| %>
<%= f.text_field(:title, class: 'form-control')%>
<%= f.text_field(:description, class: 'form-control')%>
<%= f.text_area(:content, rows: 15)%>
<div class="actions ">
<%= f.submit "Submit", class: 'btn col-md-4 col-md-offset-4 btn-large btn-success' %>
<% end %>
我想使用rails-bootstrap-markdown gem将常规表单转换为markdown编辑器: https://github.com/belighted/bootstrap-forms/blob/master/README.markdown
可在此处找到bootstrap-markdown的文档: http://toopay.github.io/bootstrap-markdown/
它说要将普通文本区域转换为降价编辑器,我需要添加data-provide="markdown"
属性
我将这段代码添加到我的模板中:
<form>
<input name="title" type="text" placeholder="Title?" />
<textarea name="content" data-provide="markdown" rows="10"></textarea>
<label class="checkbox">
<input name="publish" type="checkbox"> Publish
</label>
<hr/>
<button type="submit" class="btn">Submit</button>
</form>
它运行得很好但是当我尝试将data-provide="markdown"
添加到我的form_for erb表单时,我收到错误:
<div class="well col-md-10 col-md-offset-1"
<%= form_for(:post, :url => {:action => 'create'}) do |f| %>
<%= f.text_field(:title, class: 'form-control')%>
<%= f.text_field(:description, class: 'form-control')%>
<%= f.text_area(:content, rows: 15, data-provide: "markdown")%>
<div class="actions ">
<%= f.submit "Submit", class: 'btn col-md-4 col-md-offset-4 btn-large btn-success' %>
</div>
<% end %>
</div>
它说有一个语法错误,由data-provide =&#34; markdown&#34;属性
创建有没有办法在嵌入式ruby中添加这个数据提供属性?
我天真地猜测它并不像-
部分。
答案 0 :(得分:3)
你可以这样做:
<%= f.text_area(:content, rows: 15, "data-provide" => "markdown")%>
或者这个:
<%= f.text_area(:content, rows: 15, data: {provide: "markdown"})%>
获取文本区域的"data-provide"="markdown"
属性。但是,它不仅限于文本区域。您可以使用相同的方法将'data-<name>'='value'
属性定义为Ruby on Rails中的任何元素。
提示:如果您想定义两个或更多data-<name>
个属性,那么您可以执行以下操作:
<%= f.text_area(:content, rows: 15, data: {provide: "markdown", extension: 'MD'})%>
这将生成两个data
属性:"data-provide"="markdown"
和"data-extension"="MD"
。