1

javascriptのhomepage.jsファイルでajaxリクエストを送信しています

function GotoHomePage() {
var URL = 'homepage/1';
$.ajax({
    url : URL,
    success : function() {
    },
    error:function(){
    }
});
}

コントローラー コード products_controller.rb ファイル:

def homepage
@val="here is query"
end

ルートの routes.rb ファイル:

match "homepage/1" => 'products#homepage' 

Rspec products_controller_spec.rb ファイル:

describe ProductDetailsController do
 render_views
   describe '#homepage' do
   before { xhr :get, 'homepage/1' }
   it { response.status.should == 200 }
   end
 end

しかし、私はエラーが発生しています

before { xhr :get, 'homepage/1' }
 ActionController::RoutingError:
   No route matches {:controller=>"products", :action=>"homepage/1"}
4

1 に答える 1

0

からルートを変更してみてください

match "homepage/1" => 'products#homepage' 

match "homepage/:id" => 'products#homepage' 

次に、コントローラーで params[:id] を取得できます

編集:

多分あなたのテストを次のようなものに変更してください:

describe 'homepage' do
  it 'should be successful' do
    get 'homepage',:id=>1
    response.should be_success
  end
end
于 2013-04-08T14:34:37.193 に答える