1

私は一種の 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>
4

0 に答える 0