Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 对象没有';t支持#与多对多协会进行检查_Ruby On Rails_Ruby_Activerecord_Many To Many - Fatal编程技术网

Ruby on rails 对象没有';t支持#与多对多协会进行检查

Ruby on rails 对象没有';t支持#与多对多协会进行检查,ruby-on-rails,ruby,activerecord,many-to-many,Ruby On Rails,Ruby,Activerecord,Many To Many,我有这个问题已经一个星期了,我不能谷歌了。我卡住了。 我有一个简单的模型游戏: class Game < ActiveRecord::Base serialize :data, :history # attr_accessible :title, :body TIMES_PER_MOVE = [1,2,3,4,5] TIMES_PER_GAME = [5, 10, 15, 30] has_and_belongs_to_many :players, class_na

我有这个问题已经一个星期了,我不能谷歌了。我卡住了。 我有一个简单的模型游戏:

class Game < ActiveRecord::Base
  serialize :data, :history

  # attr_accessible :title, :body

  TIMES_PER_MOVE = [1,2,3,4,5]
  TIMES_PER_GAME = [5, 10, 15, 30]

  has_and_belongs_to_many :players, class_name: User

  def create_available(user)
    self.players << user
    self.save!
  end

end
一切看起来都很好不行

当我创建游戏实例时:

def create
    @game = Game.new()

      respond_to do |format|
        if @game.create_available(current_user) # see this method in the model
          format.html { redirect_to @game, notice: 'Game was successfully created.' }
          format.json { render json: @game, status: :created, location: @game }
        else
          format.html { render action: "new" }
          format.json { render json: @game.errors, status: :unprocessable_entity }
        end
      end    
  end 
上面写着Ok)那很好。我创造了一个游戏!但是控制台中发生了什么:

>> Game.all
  Game Load (0.2ms)  SELECT `games`.* FROM `games` 
(Object doesn't support #inspect)

我的浏览器提供了我从未想到会看到的东西(我甚至没有在任何地方使用:历史符号!!!!):

这个问题让我哭了。也许我创建的游戏实例不正确?还是我的联想不好

您的问题在于:

class Game < ActiveRecord::Base
  serialize :data, :history
                   ^^^^^^^^
..它不接受多个可序列化参数。 请参阅:

您可能想做的是:

class Game < ActiveRecord::Base
  serialize :data 
  serialize :history
类游戏
您的问题在于:

class Game < ActiveRecord::Base
  serialize :data, :history
                   ^^^^^^^^
..它不接受多个可序列化参数。 请参阅:

您可能想做的是:

class Game < ActiveRecord::Base
  serialize :data 
  serialize :history
类游戏
别哭。发到SO,我们会解决:)别哭。发到SO,我们会解决它:)非常感谢!你救了我的命!非常感谢你!你救了我的命!
undefined method `new' for :history:Symbol
class Game < ActiveRecord::Base
  serialize :data, :history
                   ^^^^^^^^
serialize(attr_name, class_name = Object)
class Game < ActiveRecord::Base
  serialize :data 
  serialize :history