ruby-on-rails - Rails erb 检查是否存在并执行每个

标签 ruby-on-rails ruby loops conditional-statements

在一份 erb 文档中,我有一个可能未定义的数组。所以我检查是否存在,如果它存在,我会像这样迭代:

<% if defined? my_array %>
  <% my_array.each do |item| %>
    <%# do stuff %>
  <% end %>
<% end %>

我想知道我是否可以在一行中包含条件和循环。

你有什么想法吗?

最佳答案

我认为更好的方法是在可能的情况下从 Controller 初始化数组,例如

@my_array ||= []

这样 .each 调用仍然有效,但不会循环,因为数组是空的,所以你不需要检查它。

关于ruby-on-rails - Rails erb 检查是否存在并执行每个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005290/

相关文章:

ruby-on-rails - 使用 form_for 在 Ruby on Rails 中通过 check_box 值传递 id

ruby-on-rails - Rails 地理编码器 - Google Geocoding API 错误 : over query limit - PRODUCTION ONLY

Javascript 嵌套 for 循环不起作用

compilation - 警告 : Nokogiri was built against LibXML version 2. 7.7,但已动态加载 2.6.16

css - rails : Is it better to display images with image_tag or css background image?

ruby-on-rails - 访问 Google Plus 通讯录 google-api-ruby-client 和 omniauth-google-oauth2

ruby - 设置计数器、递增和返回的更简洁的方法?

ruby-on-rails - 停止使用破折号保存字符串数组

javascript - 尝试使用 navigator.language 将用户重定向到/en 时出现无休止的重定向循环

java - 如何让我的程序根据特定情况重复执行?