2017-09-29 7 views
0

コントローラアクションのテストを作成していますが、コントローラアクションに達すると何らかの理由でparamsがワイプされています。ここで私が持っているものです。rspecコントローラテスト中にパラメータが消去される

it 'records the event propertly' do 
    post :create, params 
    end 

とコントローラのアクション:

def create 
    # PARAMS IS NIL HERE 
    params = params.permit(:data) 
    headers['Access-Control-Allow-Origin'] = '*' 
    ## DO STUFF # 
    render status: :ok 
    end 

ので問題はparamsであることは、アクションではnilです。しかし、request.paramsはそこにあり、正しい。

私はそのアクションの前にbefore_filterを追加しました。ただ、paramsハッシュが利用可能かどうかを確認するだけでした。それで、そのアクションに入り、パラメタを拭く原因となるものがあります。 resources :events, only: :create

+0

これは 'post:create、params:params_hash'ではありませんか? – Phil

+0

@Phil nopeは動作しませんでした –

答えて

0

どこでもコントローラでparams = params.permit(:data)を持つ、私はコントローラのアクションの先頭にbinding.pry入れていたにもかかわらず、ということで終わるの問題が原因となったのparamsはnilすべき:

はここにルートです。その行をparams以外の変数名に割り当てると、問題が修正されました。

関連する問題