私は一種の Railsnoob で、localStorage を使用してリストを含むビューを作成したいと考えています。ボタンをクリックしてリストビューに追加する必要がある製品ビューがあります。Lists-view には、カートに入っている製品、購入済みの製品、最近閲覧した製品のリストが含まれています (最後の製品については、sessionStorage を使用したいと思います)。しかし、Products ビューから Lists-controller と Lists ビューに行くと行き詰まります。ここに私のコードスニペットがあります。
アイテムを正しいリストに送信するために、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 %>
lists_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
そして、インスタンス変数を呼び出す方法がわからないため(私は今、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>