%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?它返回一个语法错误。
答案 0 :(得分:1)
您在Ruby代码中使用HAML语法:
= f.select{:name => "dropdown"}
大括号{
被解释为Ruby块的开头(如array.map { ... }
中所示),因为HAML中=
或-
前缀之后的所有内容都被评估为Ruby代码。
此外,您在使用form_for
方法时使用form_tag
语法(请参阅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?"