0

所以我一直在尝试测试以下简单的脚本标题procedure.rb

class Procedure < ActiveRecord::Base
  def fetch__records
    selection = connection.execute("SELECT * From users  WHERE name = test AND password = password")

    if (selection != nil)
      puts "It works."
    else
      puts "It fails."
    end
  end
end

它只是向用户表发送一个简单的 SQL 选择语句,但每次我运行

rails runner "Procedure.fetch_records"

我收到以下错误

  undefined method `fetch_records' for Procedure(Table doesn't exist):Class (NoMethodError)

我看了一下这个问题并将其更改为 fetch_records 定义为

def self.fetch_records

但我仍然收到同样的错误。为什么它在 undefined 中说 fetch_records?

4

2 回答 2

4

def fetch__records 中有两个下划线字符。

于 2012-03-15T18:09:57.000 回答
1

看起来您的方法定义有两个下划线,而您只调用一个下划线:

def fetch__records

rails runner "Procedure.fetch_records"

将 def 更改为fetch_records或 runner 更改为fetch__records

于 2012-03-15T18:11:09.143 回答