我还在这里学习,而且我确定它很容易解决。但基本上,我正在电子商务平台上工作。 当客户点击购物车中的结帐时,将在订单控制器中触发新操作。 但是,我试图将购物车中的 line_items 加载到结帐页面。
到目前为止,我只能加载其中一个。 如果购物车中有2个-3项,我希望客户能够看到他付的是什么。
在控制器中,我有:
def new
@order = Order.new
@item = current_cart.line_items
end
在视图中我有: 已更新
<script src="https://checkout.stripe.com/checkout.js">
data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
data-currency="gbp"
<% @item.each do |t| %>
data-name="<%=t.quantity %> × <%= t.product.title %>"
data-description="<%= t.size %>, <%= t.color %>"
data-amount="<%= (t.product.price * 100) %>"
<% end %>
data-email="<%= current_user.email %>"
data-shipping-address="true"
data-locale="auto">
</script>
我的问题是,当我在控制台中查看时,购物车中有2个项目。但我只是无法显示,因为似乎 @item 是一个数组。
任何帮助将不胜感激。提前谢谢!
答案 0 :(得分:0)
正如您所说,您希望显示@item
实例变量中的两个项目;这意味着您在show动作中显示这些值,但在新动作中获取。我认为你需要在show动作中获取它然后应用每个循环。
def show
@item = current_cart.line_items
end
然后在&#39;显示&#39;查看,循环遍历每个循环。