0

このチュートリアル (http://ruby.railstutorial.org/chapters/sign-up#sec:signup_form) に従っています。ただし、リスト 7.23のコード(haml に変換)の場合

=if @user.errors.any?
%div{:id => "error_explanation"}
  %div{:class=>"alert alert-error"}
    il modulo contiene errori
    %ul
      = @user.errors.full_messages.each do |msg|
        %li
          = msg

私は二重のプリントアウトで終わります: 予想されるものと、その後に変数の一種のプリントアウトが続きます

Name can't be blank
Password is too long (maximum is 15 characters)
["Name can't be blank", "Password is too long (maximum is 15 characters)"]
<h1>Registrazione nuovo utente</h1> <div id='error_explanation'> <div class='alert alert-error'> il modulo contiene errori <ul> <li> Name can't be blank </li> <li> Password is too long (maximum is 15 characters) </li> [&quot;Name can't be blank&quot;, &quot;Password is too long (maximum is 15 characters)&quot;]</ul> </div> </div> 

私はレールプログラミングに本当に慣れていませんが、本当に理解できません。

ありがとう、マルチェロ

4

1 に答える 1

2

ステートメントは、ではなく、でif開始する必要があります。-=

- if @user.errors.any?

また、ループも次のようにする必要があります。

- @user.errors.full_messages.each do |msg|

<% ... %>一般に、 erbから haml に変換しようとしている場合は- ...<%= ... %>= ...

于 2012-04-27T23:52:14.460 に答える