Ruby on rails 如何仅在HTML元素为';有什么内容吗?

Ruby on rails 如何仅在HTML元素为';有什么内容吗?,ruby-on-rails,Ruby On Rails,如何在页面中插入一个HTML元素,如果页面中有文本要输入 例如,在下面的代码片段中,如果某些数据为空或为零,我希望第二个不会添加到页面中: <ul> <li>item</item> - magic_method(somedata) do |somedata| <li> <%= somedata %> </li> </ul> 项目 -魔|法(somedata)do | som

如何在页面中插入一个HTML元素,如果页面中有文本要输入

例如,在下面的代码片段中,如果某些数据为空或为零,我希望第二个
  • 不会添加到页面中:

    <ul>
      <li>item</item>
      - magic_method(somedata) do |somedata|
        <li>
          <%= somedata %>
        </li>
    </ul>
    
    • 项目 -魔|法(somedata)do | somedata|
    Rails(或HAML或ERB)中是否有用于此的内置方法

    更新:


    注:我知道我自己做这件事的各种其他方法;我的问题是专门针对是否有Rails内置的方法来完成上述操作。

    在Rails中执行此操作的标准方法是在ERB模板中评估条件

    <ul>
      <li>item</item>
      <% if somedata.present? %>
        <li>
          <%= somedata %>
        </li>
      <% end %>
    </ul>
    
    • 项目

    之间的代码true
    (或)时,才会计算并输出code>。请查看该文件及其工作原理。这可能是一个很好的选择,这取决于您对
    somedata

    的期望对象的类型。我相信您应该看看Vue这样的框架,它使用DOM进行操作,允许您归档您的目标
    您的内容
    ,我会说我的答案(类似于@bhanu comment)是内置的Rails/ERB方法来实现这一点。演示所需语法的模板不起作用,Rails中也没有任何东西可以让它起作用。任何ruby代码都需要包装在ERB标记中,如
    ,并且需要
    标记来关闭块。是否存在标准方法不适用于您的特定问题?如果是这样的话,你能分享一个更详细的用例来演示你的问题吗?没有一个特定的问题@DRSE,只是想让模板看起来更好一点