【问题标题】:rails 3.1, simple_form, using haml?rails 3.1,simple_form,使用haml?
【发布时间】:2011-12-21 17:38:53
【问题描述】:

我将如何在haml中编写这个simple_form:

<%= 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

【问题讨论】:

标签: ruby-on-rails-3 haml simple-form


【解决方案1】:

任何时候你有&lt;%=,它应该在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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 2012-06-14
  • 1970-01-01
  • 2018-07-31
  • 2016-05-02
相关资源
最近更新 更多