HAML form_tag проблемы с выпадающим меню - PullRequest
0 голосов
/ 27 февраля 2011
%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?Возвращает синтаксическую ошибку.

1 Ответ

1 голос
/ 07 мая 2011

Здесь вы используете синтаксис HAML внутри кода Ruby:

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

Скобка { интерпретируется как начало блока Ruby (как в array.map { ... }), потому что все после *Префикс 1006 * или - в HAML оценивается как код Ruby.

Кроме того, вы используете синтаксис form_for при использовании метода form_tag (см. этот вопрос ),Метод form_tag не предоставляет объект формы f.Вместо этого следует использовать метод select_tag из FormTagHelper вместе с методом FormOptionsHelper :

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