我在使用Spree 3.0进行订购时遇到问题。我添加了与Spree前端Github几乎相同的前端。这些是edit.html.erb,_address.html.erb和_form.html.erb的Spree代码
这是我的edit.html.erb(仅最重要)
<%= form_for @order, url:update_checkout_path(@order.state), html: { id: "checkout_form_#{@order.state}" } do |form| %>
<%= render @order.state, form: form %>
<% end %>
这是_address.html.erb
<%= form.fields_for :bill_address do |bill_form| %>
<%= render :partial => 'spree/address/form', :locals => { :form =>bill_form, :address_type => 'billing', :address => @order.bill_address } %>
<% end %>
<%= submit_tag Spree.t(:save_and_continue), :class => 'btn btn-lg
btn-success' %>
<% if try_spree_current_user %>
<span data-hook="save_user_address">
<%= check_box_tag 'save_user_address', '1',
try_spree_current_user.respond_to?(:persist_order_address) %>
<%= label_tag :save_user_address, Spree.t(:save_my_address) %>
</span>
和_form.html.erb
<p class="form-group" id=<%="#{address_id}address1" %>>
<%= form.label :address1, Spree.t(:street_address) %><span class="required">*</span><br />
<%= form.text_field :address1, :class => 'form-control required' %>
</p>
单击“保存并继续”按钮时出现问题,它将我重定向到结帐/更新/地址路径,而不是更新地址并重定向到下一个“传递”步骤。 Checkout / update / address路径仅适用于PATCH,但以某种方式它将我重定向到该路径。如果我们可以看到我的代码与Spree Github页面中的代码完全相同,那我在做什么错?如果有人花一些时间,谢谢。干杯
已解决:我忘了将包含所有验证的模型(address.eb)放在spree文件夹中