Ruby on rails 如何仅在HTML元素为';有什么内容吗?
如何在页面中插入一个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
不会添加到页面中:
<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,只是想让模板看起来更好一点