0

このエラーが発生しています:

NameError in GamesController#create
uninitialized constant User::UsersGame
app/controllers/games_controller.rb:43:in `create'

UserGame ではなく UsersGame を参照している理由がわからないため、これは混乱を招きます...

私は物事の名前を変更し、新しいメソッドを削除しようとしました(なぜ new と create の両方が必要なのかまだ混乱していますが、両方が必要であることは理解していると思います)、正しいテーブルがあることを確認するために移行をいじってみました。しかし、私はそれを機能させることができません。ユーザークラスはdeviseで単独で動作するので、問題になることはないと思います。とにかく、以下の関連ファイルがあります。

結合テーブルとしてのモデルの users_games.rb

class UserGame < ActiveRecord::Base
  belongs_to :user
  belongs_to :game
end

モデルの user.rb

class User < ActiveRecord::Base
  has_many :users_games
  has_many :games, :through => :users_games
  # Include default devise modules. Others available are:
  # :token_authenticatable, :confirmable,
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me
end

モデルの game.rb

class Game < ActiveRecord::Base
  has_many :users_games
  has_many :users, :through => :users_games
#  has_many :turns, :dependent => :destroy

  attr_accessible :name, :creator
end
4

1 に答える 1