0

我正在通过 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), '#')

我只是想知道,我在这里错过了什么?

4

0 回答 0