【问题标题】:HAML form_tag problems with dropdown menue下拉菜单的 HAML form_tag 问题
【发布时间】:2011-02-26 22:46:22
【问题描述】:
%h2 Your "followers":

- form_tag twitter_path do |f|
  = f.select{:name => "dropdown"}
    - for follower in @followers
      %option{:value => follower['id']}= h follower['name']

  = f.submit_tag "Who leaves comments?"

如何正确格式化此 HAML?它返回一个语法错误。

【问题讨论】:

    标签: haml


    【解决方案1】:

    您在此处的 Ruby 代码中使用 HAML 语法:

    = f.select{:name => "dropdown"}
    

    大括号 { 被解释为 Ruby 块的开头(如在 array.map { ... } 中),因为在 HAML 中 =- 前缀之后的所有内容都被评估为 Ruby 代码。

    此外,您在使用form_tag 方法时使用了form_for 语法(请参阅this question)。 form_tag 方法不提供表单对象f。 您应该改用FormTagHelper 中的select_tag 方法以及FormOptionsHelper method

    - form_tag twitter_path do
      = select_tag "dropdown", options_from_collection_for_select(@followers, "id", "name")
      = submit_tag "Who leaves comments?"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-20
      • 2020-12-29
      • 1970-01-01
      • 2011-04-13
      • 2016-06-23
      相关资源
      最近更新 更多