【发布时间】:2015-06-19 18:52:45
【问题描述】:
我写了一个引擎:
module MercatorMpay24
class Admin::PaymentsController < ::Admin::AdminSiteController
def check_confirmation
@payment = Payment.find(params[:id])
end
end
end
并定义了一条路线:
MercatorMpay24::Engine.routes.draw do
namespace :admin do
get 'payments/:id/check_confirmation' => 'payments#check_confirmation',
:as => 'check_confirmation'
end
end
工作正常,可以调用、响应、...
现在我想对它进行单元测试:
require 'spec_helper'
describe MercatorMpay24::Admin::PaymentsController, :type => :controller do
describe "GET #check_confirmation" do
it "finds the payment" do
@payment = create(:payment)
get :check_confirmation, id: @payment.id
expect(assigns(:payment)).to eql @payment
end
end
end
但这给了我一个错误:
No route matches {:action=>"check_confirmation",
:controller=>"mercator_mpay24/admin/payments", :id=>"1"}
而rake routes | grep check_confirmation 给了我:
admin_check_confirmation GET /admin/payments/:id/check_confirmation(.:format)
mercator_mpay24/admin/payments#check_confirmation
我想,我在这里的命名空间有问题,但我不知道,什么....
【问题讨论】:
标签: ruby-on-rails-4 routes rspec3