実現したいこと
レンタルサーバーにrailsアプリをアップしているのですが、突如として投稿したものを表示する機能が機能しなくなったので修正したいです。
投稿後にトップページに最新の投稿という所で全ての投稿が表示されるようにしているのですが、投稿したものが表示されませんでした。
またユーザーページにもユーザーの投稿一覧を見れるようにしているのですが、ログイン中の自分の投稿一覧は表示されるのですが、ログアウト中(いわば他人のユーザーページ)にあるそのユーザーの投稿一覧は表示されませんでした。
とても言語化するのが難しいのですが、今まで表示されていた投稿したもの
前提
コントローラーはサーバーアップ後に一度も変更を加えていません。
アップ直後はconfig関連にも触れていません。
アップ後に行ったものと言うと、バナーを張りたかったので_banner.html.erbを作成してtoppages/index.html.erbに追記しました。
発生している問題・エラーメッセージ
投稿後に一覧で表示されない
こちらは検索機能も同様で表示されません。
ほぼ投稿機能に関する機能すべてで起こっている可能性があります。
追記で投稿したものが無い場合は「掲載はまだありません。」と表示されるようにunlessで条件分岐しているのですが、それが表示されているのでレコードから情報を受け取れていない可能性があります。
該当のソースコード
controller/toppagesController
1class ToppagesController < ApplicationController 2 def index 3 #検索フォーム 4 @q = Plan.ransack(params[:q]) 5 @search = @q.result(distinct: true) 6 7 @all_plan = Plan.where('start_on <= ?', Time.current) 8 @articles = Article.order(id: "DESC").limit(10) 9 @user = User.all 10 @plans = Plan.where('start_on <= ?', Time.current).order(start_on: :desc).limit(10) 11 @favorite_plans = Plan.find(Favorite.group(:plan_id).order('count(plan_id) desc').limit(10).pluck(:plan_id)) 12 @notification = Notification.where(visited_id: current_user, checked: false) 13 14 if user_signed_in? 15 @my_plans = current_user.plans.order(start_on: :desc).limit(10) 16 @follow = Relationship.where(user_id: current_user.id).pluck(:follow_id) 17 @follow_plans = Plan.where(user_id: @follow).order(start_on: :desc).limit(10) 18 end 19 end 20end
views/toppages/index.html.erb
1<!-------------------新作順---------------------> 2 <div class="new-title-contents"> 3 <h4>新着の掲載</h4> 4 </div> 5 <div class="new-contents slide-paused"> 6 <div class= "contents <%= ' contents-slideshow' if @plans.count > 5 %>"> 7 <% @plans.each do |plan| %> 8 <div class="card card-hover" style="width: 210px;"> 9 <a href="/plans/<%= plan.id %>" target="_blank" rel="noopener noreferrer" class="text-dark"> 10 <p><%= image_tag(plan.photo.url, :alt => '最新投稿') %></p> 11 <div class="card-body"> 12 <h5 class="card-title"><p><%= plan.title %></p></h5> 13 <h6 class="card-text"><p><%= plan.user.name %></p></h6> 14 </div> 15 </a> 16 </div> 17 <% end %> 18 </div></br> 19 <% unless @plans.present? %> 20 <div class="none-item"> 21 <p>掲載はまだありません。</p> 22 </div> 23 <% end %> 24 </div>
試したこと
もう一つ、確認でユーザー管理などを行うためにアドミンアカウントでお知らせを掲載する機能を付けたのですが、それでお知らせを作成し、トップページのお知らせ一覧に表示されるかを試したのですが、無事一覧に表示されました。
なぜ掲載機能(Plan)だけが突如として表示できなくなったのかが分かりません。
補足情報(FW/ツールのバージョンなど)
ruby 3.2.2
rail 6.1.7.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。