从阵列中获取参数 - Rails

时间:2017-08-10 10:17:21

标签: ruby-on-rails arrays ruby

我还在这里学习,而且我确定它很容易解决。但基本上,我正在电子商务平台上工作。 当客户点击购物车中的结帐时,将在订单控制器中触发新操作。 但是,我试图将购物车中的 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 %> &times; <%= 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 是一个数组。

任何帮助将不胜感激。提前谢谢!

1 个答案:

答案 0 :(得分:0)

正如您所说,您希望显示@item实例变量中的两个项目;这意味着您在show动作中显示这些值,但在新动作中获取。我认为你需要在show动作中获取它然后应用每个循环。

def show
  @item = current_cart.line_items 
end

然后在&#39;显示&#39;查看,循环遍历每个循环。