【问题标题】:Bullet point after every comma Rails 4每个逗号之后的项目符号 Rails 4
【发布时间】:2015-07-06 03:51:49
【问题描述】:

我正在使用 Rails 4。我有一个文本区域,用户可以在其中输入不同的食物成分。当用逗号分隔不同的成分时,我想自动使用<li> 指出成分符号,因此它们在显示页面上标有项目符号。

我无法找到有关这样做的文档。有人可以指出我的方向或让我知道最好的方法吗?

我目前正在使用 text_area 供用户输入成分:

<%= f.text_area :ingredients, :rows => "8", :cols => "80", :placeholder => "Ingredient 1, ingredient 2, ingredient 3..." %>

这是我的看法:

<h1>Ingredients:</h1><br>
<%= subarticle.ingredients.html_safe %>

目前只是以段落形式显示。

【问题讨论】:

  • 也许你应该看看tinymce-rails
  • 嗨,Kathan,您的意思是用户将键入一种成分的名称,然后是逗号,然后是另一种成分的名称,依此类推,并且您希望将其显示为项目列表随用户输入而更新?
  • 很抱歉给您带来了困惑。我只希望它在显示页面上显示为列表。因此,在用户提交表单后,成分会得到重点说明。 @cmoran92
  • 请发布您的展示页面代码。
  • 当您将&lt;%= subarticle.ingredients.html_safe %&gt; 包装在像这样的&lt;ul&gt; 中时会发生什么&lt;ul&gt;&lt;%= subarticle.ingredients.html_safe %&gt;&lt;/ul&gt;

标签: ruby-on-rails ruby forms ruby-on-rails-4 textarea


【解决方案1】:

更好的方法是storing ingredients in database as Array

在视图中,就这么简单,

<ul>
  <% food.ingredients.each do |ingredient| %>
    <li><%= ingredient %></li>
  <% end %>
</ul>

【讨论】:

    【解决方案2】:

    我不知道它是否对您有帮助,这是我应用的蛮力系统。

    <% txt = "A,B,C" %>
    
    <% out = "<ul>" %>
    <% txt.split(',').each {|s| out += ("<li>" + s.to_s + "</li>")} %>
    <% out += "</ul>" %>
    <%= out.html_safe %>
    

    输出:

    • 一个
    • C

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      • 2012-12-03
      相关资源
      最近更新 更多