我想在此循环中包含Dim lrow, i As Integer
lrow = Cells(rows.Count, 4).End(xlUp).Row + 1
i = WorksheetFunction.CountA(Range("D1:D" & lrow).SpecialCells(xlCellTypeVisible)) - 1
If i=0 then
MsgBox "vs4 is zero"
V_S4 = 0
Else
:
next if
所以我想要一些东西:
= select_tag :type, options_for_select(Products.statuses.keys.map{ |product_type| [I18n.t("product.#{product_type}"), product_type] }, params[:type])
答案 0 :(得分:3)
拥有一个列表,您可以根据条件始终select
或reject
元素:
Products.statuses
.keys
.reject { |product_type| product_type == "clothes" } # <= won't be in list
.map { |product_type| [I18n.t("product.#{product_type}"), product_type] }
答案 1 :(得分:1)
你几乎是正确的:Ruby中的表达式分隔符是分号;
,而不是逗号,
,所以它应该是
Products.statuses.keys.map{ |product_type| next if product_type == "clothes"; [I18n.t("product.#{product_type}"), product_type] }
# ↑↑↑
您也可以反转逻辑并按如下方式编写:
Products.statuses.keys.map{ |product_type| next [I18n.t("product.#{product_type}"), product_type] unless product_type == "clothes" }