【发布时间】:2015-05-11 23:24:58
【问题描述】:
我在我的 rspec 测试中尝试将 JSON 作为 JSON 发布到我的控制器操作时遇到问题
RSpec.describe RegistrationsController, type: :controller do
context 'Adding a Valid User' do
it 'Returns Success Code and User object' do
@params = { :user => {username: 'name', school: 'school'} }.to_json
post :create, @params
end
end
end
目前我想成功触发发布请求,但一直收到此错误
Failure/Error: post :create, @params
AbstractController::ActionNotFound:
Could not find devise mapping for path "/lnf".
我的路线是这样设置的
Rails.application.routes.draw do
constraints(subdomain: 'api') do
devise_for :users, path: 'lnf', controllers: { registrations: "registrations" }
devise_scope :user do
post "/lnf" => 'registrations#create'
end
end
end
Rake 路由输出以下内容
Prefix Verb URI Pattern Controller#Action
user_registration POST /lnf(.:format) registrations#create {:subdomain=>"api"}
lnf POST /lnf(.:format) registrations#create {:subdomain=>"api"}
所以我有 2 个相同动作的声明?
有没有人能解释一下这个问题
谢谢
【问题讨论】:
-
尝试指定
subdomain:post :create, x: 1, y: 2, subdomain: :api -
返回同样的错误..还有其他想法吗?
-
我认为您不应该同时使用
devise_for和devise_scope。 stackoverflow.com/questions/3827011/…github.com/plataformatec/devise#configuring-routes
标签: ruby-on-rails ruby json rspec