Ruby on rails 命名错误:未定义的方法`进行csv测试';对于ActiveRecord::关系

Ruby on rails 命名错误:未定义的方法`进行csv测试';对于ActiveRecord::关系,ruby-on-rails,spree,Ruby On Rails,Spree,我正在尝试将以下方法添加到Spree模型中#到csv_测试 这就是我试图做到的: Spree::Order.class_eval do def self.to_csv_test(options = {}) CSV.generate(options) do |csv| csv << column_names all.each do |order| csv << order.attributes.values_at(*col

我正在尝试将以下方法添加到Spree模型中#到csv_测试

这就是我试图做到的:

Spree::Order.class_eval do
  def self.to_csv_test(options = {})
    CSV.generate(options) do |csv|
      csv << column_names
      all.each do |order|
        csv << order.attributes.values_at(*column_names)
      end
    end
  end
end
Spree::Order.class\u eval do
def self.to_csv_测试(选项={})
CSV.生成(选项)do | CSV|
csv sop.to_csv_测试
NoMethodError:未定义的方法“进行csv测试”#

实际上,我对您在这里试图做什么感到困惑。为什么要在这个实例上将所有订单放入CSV?也许这就是你想要的

Spree::Order.instance_eval do
  def to_csv_test(options = {})
    CSV.generate(options) do |csv|
      csv << column_names
      all.each do |order|
        csv << order.attributes.values_at(*column_names)
      end
    end
  end
end
Spree::Order.instance\u eval do
def to_csv_测试(选项={})
CSV.生成(选项)do | CSV|
csv
Spree::Order.instance_eval do
  def to_csv_test(options = {})
    CSV.generate(options) do |csv|
      csv << column_names
      all.each do |order|
        csv << order.attributes.values_at(*column_names)
      end
    end
  end
end