是的,我已经检查过SO的其他帖子,关于如何从控件中调用控制器或MOdel方法,他们提到了以下内容:
foo = ActionController::Base::ApplicationController.new
foo.some_method
即创建实例然后调用该方法。但是如果我在我的linux控制台上写这个,那就说:
bash: =: command not found
如果我从Nitrous那里做同样的事情我得到同样的答复。
我还可以在RailsCasts上看到作者如何只是写出模型点和方法名称的名称,它会运行,但这将回显我的控制台中找不到的命令。我的模型被称为文章,因此Article.fetchstuff将无效。
http://railscasts.com/episodes/168-feed-parsing?autoplay=true
从我的控制台我可以得到其他命令,如
rails s, rails generate controller, rails runner
等,但就是这样。
我也读过类似的内容:
$ ./script
但这样做它会读取未找到的命令,如果在Nitrous我写道: 脚本,它回声,
script started
所以我必须尝试从错误的地方执行所有这些命令,但不知道还能做什么。
答案 0 :(得分:2)
这是如何使它工作: - )
$ rails console
> foo = ApplicationController.new
然后,您可以使用
检查可用的方法> foo.methods
您可以使用
列出的公共方法> foo.public_methods
然后你可以调用你想要调用的方法,例如
> foo.formats
=> [:html, :text, :js, :css, ...]
这是你尝试做的吗?
答案 1 :(得分:0)
我认为令人困惑的部分是你问的是如何从控制台运行,我们很多人都认为你指的是rails控制台而不只是你的终端shell(即bash) 。 Rails旨在作为应用程序运行,控制台通常用于调试和/或测试代码构思。 Sugaryourcoffee的答案似乎很简单。您必须首先使用
从终端启动rails控制台rails c
或
rails console
进入rails控制台后,您可以运行sugaryourcoffee描述的方法。要记住一件事,你将无法直接调用私有方法。当然,在运行rails console
之前,您必须位于应用程序根目录中。