haml не работает для form_for? (рельсы 3.1) - PullRequest
3 голосов
/ 25 октября 2011

есть мой код в контроллере

def new
    @user = User.new
  end

и мой код в new.html.haml

- if @user.errors.any?
    #error_explanation
        %h2 Form is invalid
        %ul
            -for message in  @user.errors.full_messages
                %li= message
            -
-
%section
    %h1 Sign Up
    -form_for @user do |f|
        %p
            = f.label :email
            %br
            = f.text_field :email
        %p
            = f.label :name
            %br
            = f.text_field  :name
        %p
            = f.label :password
            %br
            = f.text_field :password
        %p
            = f.label :password_confirmation
            %br
            = f.password_field :password_confirmation
        %p.button
            = f.submit
    -

Когда я захожу на страницу «Пользователи / новый путь», у меня на странице есть только «Зарегистрироваться», у меня нет полей с надписями и текстами. Я новичок в хамле. Что я делаю не так?

Ответы [ 2 ]

18 голосов
/ 25 октября 2011

Haml работает с form_for.

Похоже, ты неправильно пишешь свой Хамл. Попробуйте удалить «закрывающие» тире. Хамл заботится о закрытии блоков или вас.

Похоже, вам также нужно повторить блок, оно должно быть:

= form_for [...]

не

- form_for [...]
0 голосов
/ 24 июля 2013

вы можете использовать так:

-form_for :user do |f|
...