我有点像 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>