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

Ruby on rails 如何使用Slim语法在Rails视图中填充数组,ruby-on-rails,slim-lang,Ruby On Rails,Slim Lang,我使用带有小数组的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

我使用带有小数组的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
在以下观点中:

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

中那样使用多行表达式,在视图中有什么方法可以做到这一点吗?我通过控制器做这件事不会有问题,但是涉及到很多特殊的表单。如果我在视图中做这件事,这是一个糟糕的做法。好的,我会让它工作。谢谢你这么快的回答,我还要等两分钟