我是 Ruby 和 Haml 的新手,所以我在这个问题上兜兜转转。谷歌搜索没有给我任何可以使用的示例代码。
我可以使用 select_tag
并从表格中填充列表。但我不知道如何使用简单的静态项目列表。有人可以将其更改为正确的 Haml 吗?注意:源表为'email',字段为'status'。
= select_tag(:email, :status, {"canceled", "pending", "success"})
我希望得到一个下拉列表,其中只有“已取消、待定、成功”项。
我得到的错误是 odd number list for Hash._hamlout.format_script...
更新:我发现一些示例代码似乎是我需要的,它没有给出任何错误,但是下拉框是空的:
= select_tag(:email, :status,{ "canceled" => "1", "pending" => "2", "success"=>"3"})
这是它生成的 HTML:
<select female="2" male="1" id="email" name="email">status </select >
最佳答案
您正在使用标签助手而不是面向对象的助手。使用选择
我还推荐使用 options_for_select
。像这样:
= select(:email, :status, options_for_select([["canceled", "1"], ["pending", "2"], ["success", "3"]]))
参见: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select
http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/options_for_select
关于ruby-on-rails - 带有常量的 haml select_tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11943875/