前提・実現したいこと
rails初心者です。
現在、練習としてecサイトの作成をしており、注文一覧ページへのlink元として3パターン考えており、1、ヘッダーからの遷移の場合全ての注文を表示、2、topページ内の本日の注文数をクリックした場合当日の注文を表示、3、顧客の詳細ページからは該当顧客の注文を表示するようにしたいです。
発生している問題・エラーメッセージ
現在、様々なサイトを参照しtopページの注文数から当日の注文、顧客の詳細ページからは顧客の注文を表示することは出来ましたが、topページの状態でヘッダーから注文一覧を表示しようとすると当日の注文が表示されます。topページでもヘッダーからの遷移では全件表示させたいです。(顧客詳細ページでも同様にヘッダーから遷移すると顧客の注文が表示されます)
教えていただけますでしょうか。
該当のソースコード
OrdersController
1def top 2 @count = Order.where(created_at: Time.zone.now.beginning_of_day..Time.zone.now.end_of_day).count 3 4 end 5 6 def index 7 @path = Rails.application.routes.recognize_path(request.referer) 8 9 if @path[:action] == "top" 10 @orders = Order.page(params[:page]).where(created_at: Time.zone.now.beginning_of_day..Time.zone.now.end_of_day) 11 12 elsif @path[:action] == "show" 13 @customer = Customer.find(@path[:id]) 14 @orders = @customer.orders.page(params[:page]) 15 16 else 17 @orders = Order.page(params[:page]) 18 19 end 20 21 end 22 23 def show 24 @order = Order.find(params[:id]) 25 @orderd_products = @order.orderd_products 26 end
header
1 <% elsif admin_signed_in? %> 2 <%=link_to admin_orders_top_path do %> 3 <%= image_tag 'logo.png' %> 4 <% end %> 5 <ul class="navbar-nav navbar-right"> 6 <li><%= link_to "商品一覧" , admin_products_path,class: "link" %></li> 7 <li><%= link_to "会員一覧" , admin_customers_path,class: "link" %></li> 8 <li><%= link_to "注文履歴一覧" , admin_orders_path,class: "link" %></li> 9 <li><%= link_to "ジャンル管理" , admin_genres_path,class: "link" %></li> 10 <li><%= link_to destroy_admin_session_path, method: :delete,class: "link" do %>ログアウト</li> 11 <% end %> 12 </ul>
top
1<div class="container"> 2 <div class="row"> 3 <h2>管理者画面</h2> 4 <p style="font-size:1.5em;">本日の注文数 <%= link_to @count, admin_orders_path %>件</p> 5 </div> 6</div> 7
customershow
1<div class="container"> 2 <div class="row"> 3 <div class="col-xs-10 p-6"> 4 <h3>会員詳細画面</h3> 5 <table class="table table-noborder"> 6 <tbody> 7 <tr> 8 <th>顧客ID</th> 9 <td> 10 <%= @customer.id %> 11 <!--%= @customer.is_deleted ? '退会済み' : '有効' %--> 12 <% if @customer.is_deleted? %> 13 <span class="btn btn-info">退会済み</span> 14 <% else %> 15 <span class="btn btn-info">有効</span> 16 <% end %> 17 </td> 18 </tr> 19 <tr> 20 <th>氏名</th> 21 <td><%= @customer.family_name %> <%= @customer.last_name %></td> 22 </tr> 23 <tr> 24 <th>フリガナ</th> 25 <td><%= @customer.family_name_kana %> <%= @customer.last_name_kana %></td> 26 </tr> 27 <tr> 28 <th>郵便番号</th> 29 <td><%= @customer.post_code %></td> 30 </tr> 31 <tr> 32 <th>住所</th> 33 <td><%= @customer.address %></td> 34 </tr> 35 <tr> 36 <th>電話番号</th> 37 <td><%= @customer.telephone_number %></td> 38 </tr> 39 <tr> 40 <th>メールアドレス</th> 41 <td><%= @customer.email %></td> 42 </tr> 43 <tr> 44 <td> 45 <a><%= link_to "編集", edit_admin_customer_path(@customer),class: "btn btn-info" %></a> 46 </td> 47 <td> 48 <a class="btn btn-success btn-sm" href="/admin/orders">注文履歴一覧を見る</a> 49 </td> 50 </tr> 51
ordersindex
1div class="container"> 2 <div class="row"> 3 <div class="col-xs-10 p-6"> 4 <h1>注文一覧画面</h1> 5 <table class="table"> 6 <thead> 7 <tr class="active"> 8 <th>購入日時</th> 9 <th>購入者</th> 10 <th>注文個数</th> 11 <th>注文ステータス</th> 12 </tr> 13 </thead> 14 15 <tbody> 16 <% @orders.each do |order| %> 17 <tr> 18 <td><%= link_to order.created_at.strftime("%Y年%m月%d日%H時%M分%S秒 "), admin_order_path(order.id) %></td> 19 <td><%= order.customer.family_name %><%= order.customer.last_name %></td> 20 <%# @orderd_product.each do |o| %> 21 <td><%# o.quantity %></td> 22 <td><%= order.order_status %></td> 23 </tr> 24 <% end %> 25 </tbody> 26 27 </table> 28 </div> 29 </div> 30 <%= paginate @orders, class: "paginate" %> 31</div> 32
試したこと
様々なサイトを参考にし、
@path = Rails.application.routes.recognize_path(request.referer)
上記のコードを使用して遷移元の情報を所得しております。
しかし、topページ、顧客詳細ページのヘッダーから全件表示が出来ず困っております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/17 14:48
2020/02/17 14:57
2020/02/17 15:11
2020/02/17 15:19
2020/02/17 15:33