1

我有一个正在尝试调试的 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对象等)谢谢!

4

2 回答 2

2

我认为最好使用ActionController::Integration::Session类来完成

例如调用你的 create 方法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
于 2011-03-14T21:55:16.643 回答
-1

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

于 2011-03-14T20:21:03.063 回答