Errore: haml syntax error, unexpected keyword_ensure, expecting $end

Ciao a tutti,

sto sperimentando Haml con Rails ma quando provo a eseguire il codice
sotto
mi da l’errore in oggetto.
Ho letto la doc ma non riesco a capire dove sta l’errore, qualcuno
saprebbe
aiutarmi? Ecco il codice:

%div.row.show-grid
%div.span8.offset7
%h1 Sign in

= form_for(resource, :as => resource_name, :url =>
session_path(resource_name)) do |f|
%div.clearfix
= f.label :email
%div.input
= f.email_field :email, :class => ‘xlarge’, :id => ‘admin_email’
%div.clearfix
= f.label :password
%div.input
= f.password_field :password, :class => ‘xlarge’, :id =>
‘admin_password’
- if devise_mapping.rememberable?
%div = f.check_box :remember_me
= f.label :remember_me
%div = f.submit “Sign up”

Ho semplicemente convertito da erb l’action session/new creato da
Devise:

Sign in

<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<%= f.label :email %>
<%= f.email_field :email, :class => 'xlarge', :id => 'admin_email' %>
<%= f.label :password %>
<%= f.password_field :password, :class => 'xlarge', :id => 'admin_password' %>
<% if devise_mapping.rememberable? -%>
<%= f.check_box :remember_me %> <%= f.label :remember_me %>
<% end -%>
      <div><%= f.submit "Sign up" %></div>

<% end %>

Ciao,

2012/1/14 Rocco G. [email protected]:

= f.label :email
%div.input

Da qui in poi tutto indentato di uno, come se fosse un blocco
passato a f.label.
Deindenta di uno a sinistra da quel div in poi e l’errore sparisce.

Due note:

%div.row.show-grid
Questo non necessario: se non metti il nome del campo, viene
prodotto un div, quindi basta scrivere:
.row.show-grid

%div = f.submit “Sign up”
Il segno = dev’essere attaccato al tag, altrimenti diventa testo
letterale, per cui nell’html troverai ‘= f.submit “Sign up”’.

pietro

Grazie, ora funziona.
Il giorno 14/gen/2012 23:24, “Pietro G.” [email protected] ha
scritto: