如何使用 Slim 语法在 Rails 视图中填充数组

How to populate array in Rails view using Slim syntax

我正在使用带有小型数组的 slim 来填充 select 标签。

第一次尝试:

=f.select (:productline) do
    -[["productlinetest","value"],["[B] Bolted Bonnet"] ].each do |c|
        = content_tag(:option, c.first, value: c.last)

这很好用,但如果我想添加更多选项,我必须将它们全部放在同一行上。我更喜欢这样的东西:

=f.select (:productline) do
    -[
        ["productlinetest","value"],
        ["[B] Bolted Bonnet"]
        ].each do |c|
        = content_tag(:option, c.first, value: c.last)

但这不起作用。

将您的数组移动到控制器操作中,并在视图中使用 @variable

def my_awesome_action
   @array = [["productlinetest","value"],
             ["[B] Bolted Bonnet"]]
end

观看次数:

= f.select (:productline) do
    - @array.each do |c|
        = content_tag(:option, c.first, value: c.last)

Slim 模板引擎不允许像 Ruby

那样的多行表达式