【问题标题】:Haml form_for drop-down listHaml form_for 下拉列表
【发布时间】:2013-06-06 07:45:12
【问题描述】:

我无法在视图中显示下拉列表。 这是我的编辑操作表单。

= form_for @question do |w|
  %p
    = w.select :name => "question_status"
    %option{:value => 1}= label 1
    %option{:value => 2}= label 2      
  %p
    = w.submit "Update"
  %p
    = link_to 'Back', :back

我有这个错误:wrong number of arguments (1 for 2)

【问题讨论】:

    标签: ruby-on-rails haml form-for


    【解决方案1】:

    试试这个:

    = form_for @question do |w|
      %p
        %select{ :name => "问题[问题状态]" }
          %option{:value => 1}= "标签 1"
          %option{:value => 2}= "标签 2"
      %p
        = w.submit "更新"
      %p
        = link_to '返回', :back

    【讨论】:

    • edit.html.haml:3:语法错误,意外的 tASSOC,期待 '}'
    • 改成这个 ` = w.select "question_status" %option{:value => 1}= "label 1" %option{:value => 2}= "label 2"` 数字错误参数(1 对 2)
    • 在我自己的真实示例上测试并更正了select 行。现在应该可以工作了。
    【解决方案2】:

    我认为这应该对您有用,让我知道您的疑虑。

    = form_for @question do |w|
      %p
        = w.select "question_status", [["1", "label 1"], ["2", "label_2"]]
      %p
        = w.submit "Update"
      %p
        = link_to 'Back', :back
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

      w.select :question_status, @question.map {|q| [q.label,q.value] }
      

      或者如果你想让它成为静态的

      w.select :question_status, [['label1',value],['label2',value]]
      

      【讨论】:

        猜你喜欢
        • 2011-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-18
        • 2016-02-29
        相关资源
        最近更新 更多