我可以在控制台上使用什么来创建ActionController的实例?

时间:2011-03-14 20:17:30

标签: ruby-on-rails ruby controllers

我正在尝试调试Rails 2.3.11控制器。它看起来像这样:

class AppleController < ...
  # ...

  def create
    # ...
  end
end

从日志中,我有一些参数p

p = { ... }

我可以在控制台上写什么,以便我可以获得一个AppleController实例,它的工作方式与包含这些参数的常规实例完全相同,并且可以让我调用.create

ac = AppleController.new
# What goes here?
ac.create

(请注意,仅仅分配ac.params = p是不够的,因为没有@request对象等等。)谢谢!

2 个答案:

答案 0 :(得分:2)

我认为最好使用ActionController::Integration::Session

e.g。调用AppleController

的创建方法
require 'action_controller/integration'
app = ActionController::Integration::Session.new;
app.post('/apples', params) # assuming '/apples' is the path to your AppleController
puts app.response.inspect

答案 1 :(得分:-1)

如果我正确地阅读了问题,您只需在控制台中调用Apple.create(:something => "bah")即可。这应该模仿控制器在收到邮件请求时所做的事情。