Ruby on rails haml选择带有常数的标签

Ruby on rails haml选择带有常数的标签,ruby-on-rails,ruby,haml,html-select,Ruby On Rails,Ruby,Haml,Html Select,我是Ruby和Haml的新手,所以我在这个问题上兜圈子。谷歌没有给我任何可以使用的示例代码 我可以使用select_标记并从表中填充列表。但我不知道如何使用简单的静态项目列表。有人可以将其更改为适当的Haml吗?注意:源表为“电子邮件”,字段为“状态” = select_tag(:email, :status, {"canceled", "pending", "success"}) 我希望得到一个下拉列表,其中只有“取消,待定,成功”的项目 我得到的错误是散列的奇数列表。\u hamlout.

我是Ruby和Haml的新手,所以我在这个问题上兜圈子。谷歌没有给我任何可以使用的示例代码

我可以使用
select_标记
并从表中填充列表。但我不知道如何使用简单的静态项目列表。有人可以将其更改为适当的Haml吗?注意:源表为“电子邮件”,字段为“状态”

= select_tag(:email, :status, {"canceled", "pending", "success"})
我希望得到一个下拉列表,其中只有“取消,待定,成功”的项目

我得到的错误是散列的奇数列表。\u hamlout.format\u script…

更新:我发现一些示例代码似乎是我需要的,它没有给出任何错误,但下拉框是空的:

= select_tag(:email, :status,{ "canceled" => "1", "pending" => "2", "success"=>"3"})
以下是它生成的HTML:

状态

成功了!我需要使用“选择”而不是“选择标签”。-)


=select(:email,:status,{“cancelled”=>“cancelled”,“pending”=>“pending”,“success”=>“success”})

成功了!我需要使用“select”而不是“select”.:-)


=选择(:email,:status,{“cancelled”=>“cancelled”,“pending”=>“pending”,“success”=>“success”})

您使用的是标记帮助程序,而不是面向对象的帮助程序。使用
选择

我还建议使用
选项来选择
。例如:

= select(:email, :status, options_for_select([["canceled", "1"], ["pending", "2"], ["success", "3"]]))
见:


您使用的是标记辅助对象,而不是面向对象的辅助对象。使用
选择

我还建议使用
选项来选择
。例如:

= select(:email, :status, options_for_select([["canceled", "1"], ["pending", "2"], ["success", "3"]]))
见: