1

我有点像 railsnoob,我想使用 localStorage 制作带有列表的视图。我有一个产品视图,您应该在其中单击一个按钮将其添加到列表视图。Lists-view 包含购物车中的产品列表、已购买的产品和最近查看的产品(最后一个我想使用 sessionStorage)。但是,我在从 Products-view 到 Lists-controller 和 Lists-view 时遇到了困难。这是我的代码片段。

要将项目发送到正确的列表,我在 products.show.html.erb 中创建了这个表单

  Add to:
  <%= form_tag("/lists/index", :method => "get") do %>
<input type="radio" name="listcat" value="cart">Put in Cart
<input type="radio" name="listcat" value="bought">I've already Bought this
<%= hidden_field_tag :product_id %>
<input type="submit" value= "Go!">
  <% end %>

在 list_controller.rb 中

class ListsController < ApplicationController
  def index

    if params[:listcat] == "bought"
      @listbought = Product.where("product_id = ?", params[:product_id])
    end

    if params[:listcat] == "cart"
      @listcart = Product.where("product_id = ?", params[:product_id])
    end

  end
end

然后我陷入了lists.view.html.erb,因为我不知道如何调用实例变量(我现在尝试通过erb在标题中声明它),以及如何将它们放入列表中(使用 localStorage 的键值进行一些迭代?)。现在的列表是“购物车”,因为当它起作用时,“已购买”列表将是相同的,“最近查看”将使用不同的方法,但最终会出现。

<head>
  <title>Lists</title>
  <% cart = @listcart %>
  <script>
    localStorage.getItem("cart");
  </script>
</head>

<body>
  <h1>My Lists<h1>
  <h3>Cart</h3>
  <ul id="cart">
    <li></li>
  </ul>
4

0 回答 0