如何刷新数据库连接

时间:2015-10-01 03:06:40

标签: ruby-on-rails ruby ruby-on-rails-4

我使用终端在mysql中插入一列然后在rails中我试图获取列

puts (Class.new(ActiveRecord::Base) { self.table_name = 'sample_tables'}).column_names

但它不会显示插入的列。我需要首先刷新我的轨道以显示它。在获取列之前,我需要添加什么代码来刷新连接?

我使用rails c对其进行了测试。在此先感谢您的帮助。

是的,我试过这个

(Class.new(ActiveRecord::Base) { self.table_name = 'sample_tables'}).reload

但它不起作用。

1 个答案:

答案 0 :(得分:1)

方法" column_names "只获取一次名称,并在总是返回旧值之后。

def column_names
  @column_names ||= columns.map { |column| column.name }
end

http://apidock.com/rails/ActiveRecord/Base/column_names/class

尝试使用" reset_column_information "清理方法@column_names http://apidock.com/rails/ActiveRecord/Base/reset_column_information/class