Rails:如何使用从数据库返回的数据设置下拉列表无序列表的值

时间:2014-11-18 20:23:06

标签: ruby-on-rails haml

我正在使用Haml并在页面上有一个带有几个输入框和下拉列表的表单。我可以像这样设置输入框的值:

%input#txtBillingAddress(placeholder="Address" value="#{@vendor["billing_address"]}")

我有这个无序列表是一个下拉列表:

#ddlVendorPosition.wrapper-dropdown 
   %span.selected Position
     %ul.dropdown
        %li Owner
        %li Manager
        %li Employee

我是否有类似的方法来设置此下拉列表的值?参数是:

@vendor["position"]

由于

编辑:我想用返回的数据设置值,以便在必要时编辑表单。

2 个答案:

答案 0 :(得分:1)

所以我想它会是这样的(再次,我不太了解Haml,但是......):

= form_for(@vendor) do |f|
  = f.label 'Position:'
  = f.select :position,
      options_for_select([["Owner", "owner"], ["Manager", "manager"], ["Employee", "employee"]]), 
      prompt: 'Please select a position'
  = f.submit "Submit"

您也可以动态执行相同操作,而不是硬编码,但您可以尝试使用此功能。

答案 1 :(得分:0)

这就是我的想法:

#ddlVendorPosition.wrapper-dropdown
    - if @vendor["position"] != "None" 
        %span.selected #{@vendor["position"]}
    - else
        %span.selected Position
    %ul.dropdown
        %li Owner
        %li Manager
        %li Employee

如果没有值(保存为"无",显然),"位置"占位符将显示。感谢。