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 に答える