#解決したいこと
RailsActiveで管理者画面を実装したものの、管理者画面から一部のモデルへアクセスしようとするとエラーが発生する。2種類の以下のようなエラーが発生する。これを解消したい
エラー1で起きているモデルは、Gameモデル、Practiceモデル,Userモデルで、エラー2については、Ptagモデルで発生しています。
#わかっていること
エラー1に関しては、ActiveHashとアソシエーションをつないでいる物に関して発生しているという共通点があります。
#コード
Gameモデル
ruby
1class Game < ApplicationRecord 2 extend ActiveHash::Associations::ActiveRecordExtensions 3 4 belongs_to :user 5 #ActiveHash 6 belongs_to :gamenum 7 belongs_to :gametime 8 belongs_to :level 9 10 with_options presence: true do 11 validates :gameday 12 validates :location 13 validates :title 14 end 15 16 with_options numericality: { other_than: 1 } do 17 validates :gametime_id 18 validates :gamenum_id 19 validates :level_id 20 end 21 22end
Practiceモデル
ruby
1class Practice < ApplicationRecord 2 extend ActiveHash::Associations::ActiveRecordExtensions 3 has_many :pcomments,dependent: :destroy 4 has_many :likes,dependent: :destroy 5 has_many :liked_users, through: :likes, source: :user 6 has_many :practice_ptag_relations,dependent: :destroy 7 has_many :ptags, through: :practice_ptag_relations 8 9 has_many :notifications,dependent: :destroy 10 11 belongs_to :user 12 #ActiveHash 13 belongs_to :hardlevel 14 belongs_to :category 15 belongs_to :career 16 17 has_many_attached :images 18 19 with_options presence: true do 20 validates :title 21 validates :content 22 end 23 24 with_options numericality: { other_than: 1 } do 25 validates :category_id 26 validates :hardlevel_id 27 end 28 29
Userモデル
user.rb
1class User < ApplicationRecord 2 # Include default devise modules. Others available are: 3 # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable 4 extend ActiveHash::Associations::ActiveRecordExtensions 5 6 belongs_to :career 7 has_one_attached :myphoto 8 #投稿機能 9 has_many :practices,dependent: :destroy 10 has_many :pcomments,dependent: :destroy 11 #いいね機能 12 has_many :likes, dependent: :destroy 13 has_many :liked_practices, through: :likes, source: :practice 14 #フォロー(こっち)側役 15 has_many :relationships, dependent: :destroy 16 has_many :followings, through: :relationships, source: :follow #架空モデル 17 #フォロワー(あっち)側役 18 has_many :reverse_of_relationships, class_name: 'Relationship', foreign_key: 'follow_id', dependent: :destroy #架空モデル 19 has_many :followers, through: :reverse_of_relationships, source: :user #架空モデル 20 #通知機能 21 has_many :active_notifications,class_name: "Notification",foreign_key: "visiter_id", dependent: :destroy 22 has_many :passive_notifications, class_name: "Notification", foreign_key: "visited_id", dependent: :destroy 23 #チャット機能 24 has_many :chat_room_users 25 has_many :chat_rooms, through: :chat_room_users 26 has_many :chat_messages 27 #試合募集 28 has_many :games 29 belongs_to :gamenum 30 belongs_to :gametime 31 belongs_to :level 32 #カレンダー機能 33 has_many :events 34
Ptagモデル
class Ptag < ApplicationRecord has_many :practice_tag_relations ,dependent: :destroy has_many :practices, through: :practice_ptag_relations validates :name,uniqueness: true end
PtagとPracticeの中間モデル(PracticePtagUserモデル)
class PracticePtagRelation < ApplicationRecord belongs_to :practice belongs_to :ptag end
#おわりに
なんでもいいので何かしらわかることがあれば教えてください!
よろしくお願いします「
あなたの回答
tips
プレビュー