0

この仕様を実行すると、常に nil オブジェクトが返されます。誰か助けてください。

 require 'spec_helper'

   describe Api::SongsController do
    describe "GET index" do
     it "assigns songs json" do
      song = Song.create(:title => "song")
      get :index, :format => :js
      assigns(:songs).should eq([song])
      end
     end        
   end

そして私のコントローラーコード

     def index
      songs = Song.all
      if !songs.empty?
       respond_with songs
      else
       render :json => {:message => "No songs found."}
      end
     end
4

1 に答える 1

0

コントローラーにはインスタンス変数が必要です。だから変える

 def index
  songs = Song.all
  if !songs.empty?
   respond_with songs
  else
   render :json => {:message => "No songs found."}
  end
 end

 def index
  @songs = Song.all
  if !@songs.empty?
   respond_with @songs
  else
   render :json => {:message => "No songs found."}
  end
 end

それはする必要があります:)

于 2013-09-23T08:31:34.447 に答える