0

次のコードは、配列を作成し、それをparamsハッシュの一部として送信する必要があります。

        it "should create an outing" do 
            lambda do 
                post :create, { :outing => FactoryGirl.attributes_for(:outing), :guestvalue => ["80","89"] , :barvalue => ["2976","2973"] }
            end.should change(Outing, :count).by(1)
        end 

代わりに、それは私にエラーを与えています:

 NoMethodError:
   undefined method `[]' for nil:NilClass

パラメータは、コントローラのこのセクションに渡されます。

    params[:guestvalue].each do |guest_id|
        @outing.add_guest(guest_id)
    end 

    params[:barvalue].each do |bar_id|
        @outing.add_bar(bar_id)
    end 
4

1 に答える 1

0

まだ興味がある人のために、配列を渡すための適切な構文は次のとおりです。

post :create, { :outing => FactoryGirl.attributes_for(:outing), :guestvalue => ["80","89"] , :barvalue => ["2976","2973"] }
于 2012-07-11T17:42:34.420 に答える