0

我正在尝试为我们计划使用的系统构建一个基于 Wicked 的多页表单。但是,在我添加第三个表单页面后,用于填充数据库中的第二个表,我得到下面列出的错误。我已经尝试在末尾添加和删除 <% end %> 标签,但没有成功。谁能帮我吗?

/home/supervisor/Rubyrails/Werkvergunning/app/views/enquirys/steps/measurements.html.erb:45:语法错误,意外的keyword_ensure,期待keyword_end /home/supervisor/Rubyrails/Werkvergunning/app/views/enquirys/steps/测量.html.erb:47:语法错误,意外的输入结束,期待keyword_end

Rails.root:/home/supervisor/Rubyrails/Werkvergunning 应用程序跟踪 | 框架跟踪 | 全跟踪

app/views/enquirys/steps/measurements.html.erb:45:语法错误,意外的keyword_ensure,期待keyword_end app/views/enquirys/steps/measurements.html.erb:47:语法错误,意外的输入结束,期待keyword_end app/controllers/enquirys/steps_controller.rb:7:in `show'

测量.erb.html:

<%= form_for @enquiry, method: :put, url: wizard_path do |f| %>
  <% if f.object.errors.any? %>
    <div class="error_messages">
      <% f.object.errors.full_messages.each do |error| %>
        <p><%= error %></p>
      <% end %>
    </div>
  <% end %>

  <fieldset>
    <legend>Maatregelen</legend>
       <%= f.fields_for :enquiry_measures do |enquiry_measures| %>
                                <%= enquiry_measures.fields_for :measure do |measures| %>
    <div>
      <%= f.label :Maatregel %>
      <br />
      <%= collection_select(:measure, :enquiry_id, Enquiry.all, :id, :measurement) %>
     <%# http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select -%>
    </div>
     <div>
      <%= f.label :Gereed %>
      <br />
      <%= enquiry_measures.text_field :done %>
    </div>

    <div>
      <%= f.label :Verantwoordelijke %>
      <br />
      <%= enquiry_measures.text_field :responsible %>
    </div>

    <div>
      <%= f.label :Benodigd %>
      <br />
      <%= enquiry_measures.text_field :needed %>
    </div>       

    <div>
      <%= f.submit 'Next Step' %>
    </div>
  </fieldset>
<% end %>

和步骤控制器:

class Enquirys::StepsController < ApplicationController
include Wicked::Wizard
  steps *Enquiry.form_steps

  def show
    @enquiry = Enquiry.find(params[:enquiry_id])
    render_wizard
  end

  def update
    @enquiry = Enquiry.find(params[:enquiry_id])
    @enquiry.update(enquiry_params(step))
    render_wizard @enquiry
  end

  private

  def enquiry_params(step)
    permitted_attributes = case step
                           when "basic"
                             [:Reference, :Location, :Description]
                           when "when"
                             [:Amount, :Date]
                           when "measurements"
                            [:responsible]
                           end

    params.require(:enquiry).permit(permitted_attributes).merge(form_step: step)
  end

end
4

1 回答 1

0

只需在关闭字段集之前添加 2 end

  <fieldset>
    <legend>Maatregelen</legend>
    <%= f.fields_for :enquiry_measures do |enquiry_measures| %>
      <%= enquiry_measures.fields_for :measure do |measures| %>
        <div>
          <%= f.label :Maatregel %>

          # .....

      <% end %> <%# end of enquiry_measures.fields_for :measure %>
    <% end %> <%# end of f.fields_for :enquiry_measures %>
  </fieldset>
<% end %>
于 2016-11-29T09:20:49.513 回答