我正在通过 Javascript 响应控制器操作。我想渲染一个部分。根据购物车是空的还是上面已经有物品,我有不同的选择器来附加部分。
一般标记如下:
<div id="expresscart">
<ul id="expresslist">
<li class="expressitem">..</li>
<li class="expressitem">..</li>
</ul>
</div>
出于某种原因,在另一个“li.expressitem”之后附加 li 没有问题。
但是,当我想将第一个li插入ul时,我会收到以下错误:
语法错误,意外的keyword_ensure,需要')'
响应动作的 JS 如下:
$('.linktocart a').html('<%= escape_javascript link_to_cart %>');
<% if current_order.empty? %>
$("#expresslist").append("<%= escape_javascript render :partial => 'spree/line_items/express', :locals => {:line_item => @line_item} %>");
<% else %>
$(".expressitem:last").after("<%= escape_javascript render :partial => 'spree/line_items/express', :locals => {:line_item => @line_item} %>");
<% end %>
要渲染的 Partial 如下:
%li.expressitem{"data-expresslineid" => line_item.id}
%div.expressimage
- if line_item.variant.images.any?
%figure
= image_tag line_item.variant.images.last.attachment.url(:sideline)
.expressdescription
%h1
= line_item.variant.product.name
%span.expressprice
= line_item.money
%p.expressitemdesc.clearfix
= line_item.item_options
- if line_item.subscription_line
%p.expressautoship
= t(:autoship_every, :month => pluralize(line_item.subscription.interval, 'month'))
%div.expressitemoptions
%ul.inline
%li.expressremove
= link_to(t(:remove), '#')
我只是想知道,我在这里错过了什么?