Ruby on rails 在Rails活动记录中创建丰富的多对多关联

Ruby on rails 在Rails活动记录中创建丰富的多对多关联,ruby-on-rails,activerecord,associations,Ruby On Rails,Activerecord,Associations,我是rails的初学者,正在学习入门rails 4第3版: 我有3个丰富的多对多关联模型: 1-评论 第2条 3-用户 class Comment < ActiveRecord::Base belongs_to :article end class Article < ActiveRecord::Base validates_presence_of :title validates_presence_of :body belongs_to :user has_

我是rails的初学者,正在学习入门rails 4第3版:

我有3个丰富的多对多关联模型:

1-评论

第2条

3-用户

class Comment < ActiveRecord::Base
  belongs_to :article
end

class Article < ActiveRecord::Base
  validates_presence_of :title
  validates_presence_of :body

  belongs_to :user
  has_and_belongs_to_many :categories
  has_many :comments

  def long_title
    "#{title} - #{published_at}"
  end
end

class User < ActiveRecord::Base
  has_one :profile
  has_many :articles, -> {order('published_at DESC, title ASC')},
                      :dependent => :nullify
  has_many :replies, :through => :articles, :source => :comments
end
在我看来,这种关联工作得很好,但是当我尝试使用rails控制台时,我必须关闭它并重新打开它以应用更改,除非user.repress.empty?永远都是真的

注意,我试过重新加载!但在我重新打开rails控制台之前,这些更改仍然不起作用。
你知道为什么会有这种行为吗?

这取决于你没有看到什么变化。如果您更改代码,只需调用重新加载!方法:

如果您正在通过Rails服务器更改数据,可能是在您有一个正在运行的控制台的情况下,那么在您的对象上调用reload就是您想要的:

user = User.first
# change some stuff in the database
user.reload
# user now has the changed data

您的问题/问题到底是什么?为什么rails控制台需要关闭并重新打开以应用丰富的多对多关联中的更改?
user = User.first
# change some stuff in the database
user.reload
# user now has the changed data