ruby-on-rails - 如何在内联循环中包含 'next if' 条件

标签 ruby-on-rails ruby forms ruby-on-rails-5 slim-lang

我想在此循环中包含next if:

 = select_tag :type, options_for_select(Products.statuses.keys.map{ |product_type| [I18n.t("product.#{product_type}"), product_type] }, params[:type])

所以我想要这样的东西:

 Products.statuses.keys.map{ |product_type| next if product_type == "clothes", [I18n.t("product.#{product_type}"), product_type] }

最佳答案

拥有一个列表,您可以随时 selectreject基于条件的元素:

Products.statuses
        .keys
        .reject { |product_type| product_type == "clothes" } # <= won't be in list
        .map    { |product_type| [I18n.t("product.#{product_type}"), product_type] }

关于ruby-on-rails - 如何在内联循环中包含 'next if' 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40677636/

相关文章:

javascript - php 和 javascript 表单验证问题

ruby-on-rails - 使用docker-compose对Rails应用程序进行Docker化

ruby-on-rails - 如何使用 rails 和 mongoid 通过关联的 "count"查找记录?

ruby - 如何在 wxRuby 应用程序中恢复窗口大小和位置?

ruby-on-rails - Ruby Magic Code 在 nil 检查性别后使用 bool 值

javascript - 文件上传后自动提交表单

django - 我如何在 Django 中自动填充字段?

ruby-on-rails - 使用 ES6 时无法预编译生产 Assets

ruby-on-rails - has_many :through 的附加范围条件

ruby-on-rails - M1 MBP Rails db :create is throwing an error for msgpack