2011-03-14 34 views
0

我有一个Rails 2.3.11控制器,我试图调试。它看起来像这样:我可以在控制台上使用什么来创建ActionController的实例?

class AppleController < ... 
    # ... 

    def create 
    # ... 
    end 
end 

从日志,我有一些参数p

p = { ... } 

我可以在控制台上写的是什么,这样我可以得到AppleController的一个实例,将工作完全一样这些参数的常规实例,哪些会让我打电话给.create

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

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

回答

-1

如果我正确阅读问题,则可以在控制台中拨打Apple.create(:something => "bah")。这应该模仿控制器在收到发布请求时的操作。

+0

创建方法什么这样的事情请求头,等?那些不会被创造,他们会吗? – 2011-03-14 20:31:52

+0

如果您担心这个问题,那么可以通过控制台进入功能/集成测试。 http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers – 2011-03-14 20:34:28

+0

不幸的是,我没有修改代码库的能力,因为我在一个实例上调试一个问题,我不控制。相信我,写测试是我不会做的第一件事。 – 2011-03-14 20:39:11

1

我认为这是使用ActionController::Integration::Session

例如做得最好打电话给你的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 
相关问题