Ruby on rails 如何在控制台中调用rails 3模型方法

Ruby on rails 如何在控制台中调用rails 3模型方法,ruby-on-rails,methods,console,Ruby On Rails,Methods,Console,我在rails 3模型中有一个方法,它使用nokogiri解析XML。 如何在控制台中调用此方法以测试其性能 下面是整个类(我试图调用generate_list): classpodcast

我在rails 3模型中有一个方法,它使用nokogiri解析XML。 如何在控制台中调用此方法以测试其性能

下面是整个类(我试图调用generate_list):

classpodcast{:name=>new_name})
如果podcast.nil?
podcast=podcast.new(
:name=>entry.xpath(“./name”).text,
:itunesurl=>entry.xpath(“./link/@href”).text,
:category=>entry.xpath(“./category/@term”).text,
:hosts=>entry.xpath(“./artist”).text,
:description=>entry.xpath(“./摘要”).text,
:artwork=>entry.xpath(“./image[@height='170']”)。text
)
podcast.save
其他的
podcast.destroy
结束
结束
结束
结束

编辑:哇,1000个视图。我希望这个问题对人们的帮助和对我的帮助一样大。当我回顾这一点时,我感到惊讶,一年多以前,我还没有弄清楚实例方法和类方法之间的区别。现在我正在用ruby、Rails和许多其他语言/框架编写复杂的面向服务的应用程序和后端堆栈溢出是导致这种情况的原因。非常感谢这个社区赋予人们解决问题和理解解决方案的能力。

这是一种实例方法,请尝试:

Podcast.first.generate_list
您应该通过如下方式声明类方法:

def self.generate_list
并称之为:

Podcast.generate_list

看起来您希望将其用作类方法,因此必须如下定义:

def self.generate_list
  ...
end

然后您可以将其称为
Podcast.generate_list

从您的代码中,您的
generate_list
方法实际上构建并保存了Podcast

启动rails控制台:
$rails控制台

并创建一个新的播客,调用其中的方法:

> pod = Podcast.new
> pod.generate_list

或者,如果您不想重写代码,请遵循以下步骤

在终端上键入
rails c
打开控制台,然后只需执行以下操作:

p = Podcast.new
p.generate_list

请向我们展示此方法是如何定义的。或者将其转换为其他人在
def self中提到的实例方法。generate_list
这完全正确。如果更改代码,请确保“重新加载!”。自己不适合我。谢谢,这正是我想要的。如果该方法带有参数怎么办?@bcackerman然后调用它,但是您会调用带有参数的方法:
Podcast.generate_list(arg1,arg2)
谢谢!必须确保
重新加载进行代码更改后
p = Podcast.new
p.generate_list