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 %>
レンダリングされるパーシャルは次のとおりです。
%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), '#')
私はここで何が欠けているのだろうか?