如何在rails引擎中访问模型的表名

时间:2016-08-10 11:02:35

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

我正在研究一个验证Excel文件的引擎,然后将其保存到数据库中。但是我的引擎没有提供任何迁移。应用程序将提供保存数据的表。

现在我的问题是,如何在我的引擎模型中访问需要保存数据的表名?

例如,我有一个模型upload.rb,app提供了我想要保存数据的表admins

我已检查this question并设置了self.table_name = 'admins',但每次都无法设置表名。

我对铁轨非常陌生,而且我是第一次制造发动机。

以下是我的引擎模型的代码

module MyEngine
  class Upload < ActiveRecord::Base
    self.table_name = 'admins'

    def validate(file)
      spreadsheet = open_excel(file)
      header = spreadsheet.row(1)
      2.upto(spreadsheet.last_row) do
        row = Hash[[header, spreadsheet.row(i)].transpose]
        upload = Upload.new(row)
        upload.save!
      end
    end

    private

    def open_excel(file)
      case File.extname(file)
      when ".xls", ".xlsx" then Roo::Spreadsheet.open file
      else raise "File format not supported"
      end
    end
  end
end

在开发期间,我可以设置self.table_name = 'admins',但在生产中每次都难以更改表名。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

请尝试以下方法:

In [17]:
resampled = df.resample('1min').mean()
empty_df = pd.DataFrame()
empty_df['value'] = pd.Series(resampled, index=np.arange(len(resampled.index)))
empty_df

Out[17]:
     value
0  1779.87