2011-11-04 92 views
2

我怎麼會寫這個simple_form在HAML:rails 3.1,simple_form,使用haml?

<%= simple_form_for (@quiz) do |f| %> 
<%= f.error_notification %> 
    <div class="inputs"> 
    <%= f.input :body %> 
    <%= f.fields_for :quiz_choices do |builder| %> 
     <%= render "quiz_choice_fields", :f => builder %> 
    <% end %> 
    <p><%= link_to_add_association "Add a choice",f, :quiz_choices %></p> 
    </div> 

    <div class="actions"> 
    <%= f.button :submit %> 
    </div> 
<% end %> 

這裏是我的嘗試:

- simple_form_for (@quiz) do |f| 
- f.error_notification 
    .inputs 
    = f.input :body 
    - f.fields_for :quiz_choices do |builder| 
    = render "quiz_choice_fields", :f => builder 

    %p= link_to_add_association "Add a choice",f, :quiz_choices 
    .actions 
    = f.button :submit 

以下是錯誤:

提取的源(左右線#12):

9: .actions 
10:  = f.button :submit 
+0

需要ERB轉換爲HAML的任何時間,試試:http://html2haml.heroku.com/ – jpwynn

回答

4

那麼任何時候你有<%=,它笑在haml中變成=,而不是-。另外,對於循環或塊,您需要縮進它下面的代碼。

- simple_form_for (@quiz) do |f| 
- f.error_notification 
    .inputs 
    = f.input :body 
    - f.fields_for :quiz_choices do |builder| 
    = render "quiz_choice_fields", :f => builder 

    %p= link_to_add_association "Add a choice",f, :quiz_choices 
    .actions 
    = f.button :submit 

應該改爲:

= simple_form_for (@quiz) do |f| 
    = f.error_notification 
    .inputs 
    = f.input :body 
    = f.fields_for :quiz_choices do |builder| 
     = render "quiz_choice_fields", :f => builder 
    %p= link_to_add_association "Add a choice",f, :quiz_choices 
    .actions 
    = f.button :submit 
+0

謝謝,我還有一個問題在這裏:HTTP:/ /stackoverflow.com/questions/8005831/rails-3-1-partial-using-haml我會感謝您的幫助! – simo