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

时间:2015-07-30 15:50:28

标签: ruby-on-rails slim-lang

我正在使用一个小数组来填充选择标记。

第一次尝试:

=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)

但这不起作用。

1 个答案:

答案 0 :(得分:0)

将数组移动到控制器操作中,并在视图中使用@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

中的多行表达式