4
をコントローラにPOSTのURLパラメータ私は、ユーザーがRSpecの+ Railsの:
POST /controllername/v1
{
"p2":"v2",
"p3":"v3"
}
を行うと、POSTは
params={ :p2 => "v2", :p3 => "v3" }
p1=v1
あるいは、実際には、コントローラ "コントローラ名" に到達することを手配したい、Iコントローラに他の外観でも動作できます。重要なのは、URLの最後の単語(「v1」)を、p2/v2およびp3/v3と同様に使用するためにコントローラに使用可能にする必要があることです。
そして、これをRpecでテストする必要があります。具体的には、次の(
it 'should route to :create' do
assert_routing({ :path => '/controllername/foofoo',
:method => :post },
{ :controller => "controllername",
:action => 'create',
:p1 => 'foofoo' })
end
しかし、私はそれに投稿する方法を見つけ出すことはできません。
rspec 2.6.4
rails 3.0.9
ruby 1.9.2
私はルート
match '/controllername/:p1' => 'controllername#create'
そしてこのRSpecのルールを使用していますと、動作しますコントローラの仕様)。 controllername_controller_spec.rb
基本的に
post :create, :p1 => "foo", :p2 => "bar", :p3 => "baz"
インサイド
、ただで提供パスして、必要なもので一緒にあなたが持っているだろうすべてのパラメータを置く:あなたたとえば
post :create, parameters
post :create, parameters, 'foofoo'
post :create, parameters, :p1 => 'foofoo'
post :create, :p1 => 'foofoo', parameters
テストログによるテストによるコントローラコールとは何ですか? – shingara