前提・実現したいこと
投稿に紐付いたカテゴリーIDの同じものを一覧表示させたい
発生している問題・エラーメッセージ
該当のソースコード
ruby
1 def index 2 if params[:category_id] 3 @category = Tweet.find(params[:category_id]) 4 @tweets = @category.tweets.order("created_at DESC").page(params[:page]).per(15) 5 else 6 @tweets = Tweet.includes(:user).order("created_at DESC").page(params[:page]).per(15) 7 end 8 end
やっていること
アクティブハッシュを使ってtweetそのものにcategory_idを保存させていて、tweetの中の同じcategory_idを持つものだけを表示させようとしている。
その為categoryテーブルは存在しない。
URLでの指定で表示させようとしている。
#マイグレーションファイル class CreateTweets < ActiveRecord::Migration[5.2] def change create_table :tweets do |t| t.string :title, null: false t.string :text t.string :image, null: false t.integer :user_id t.integer :category_id, null: false t.timestamps
#tweet.rb class Tweet < ApplicationRecord extend ActiveHash::Associations::ActiveRecordExtensions belongs_to :user has_many :comments, dependent: :destroy has_many :images, dependent: :destroy belongs_to_active_hash :category mount_uploader :image, ImageUploader
#category.rb class Category < ActiveHash::Base self.data = [ {id: 1, name: '風景'}, {id: 2, name: 'ポートレート'}, {id: 3, name: 'スナップ'}, {id: 4, name: 'ペット・生物'}, {id: 5, name: '花・植物'}, {id: 6, name: '自然'}, {id: 7, name: '鉄道'}, {id: 8, name: '車・バイク'}, {id: 9, name: '食事・料理'}, {id: 10, name: '水中写真'}, {id: 11, name: '趣味'}, {id: 12, name: 'フィギュア'}, {id: 13, name: 'モノクローム'}, {id: 14, name: '旅行'}, {id: 15, name: 'ファッション'}, {id: 16, name: 'スポーツ'}, {id: 17, name: 'スチルライフ'}, {id: 18, name: '都市風景'}, {id: 19, name: 'その他'} ] end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/13 03:20
2020/05/13 03:42
2020/05/13 03:59