1
Request Rspec内に未処理のJSONを送信しようとしています。 (コントローラーRspecで試したので、JSONデータは4.2で解析されていません) サブドメインを設定しましたapi。RSpecリターン404;サブドメインにJSONデータで投稿する
私はいつも404
を取得します。
describe "POST #create" do
let(:json_body) do
'{"foo":"foo_value", "bar":"bar_value", "baz":"baz_value"}'
end
it "returns not acceptable to non json content-type request" do
post "/subscriptions" , json_body, { 'CONTENT_TYPE' => 'application/json', 'ACCEPT' => 'application/json' }
end
これを修正するアイデアはありますか?
UPDATE
config/routes.rb
require 'api_constraints'
Rails.application.routes.draw do
namespace :api, defaults: { format: :json }, constraints: { subdomain: 'api' }, path: '/' do
scope module: :v1, constraints: ApiConstraints.new(version: 1, default: true) do
resources :subscriptions, only: [:index, :new, :create]
end
end
end
アップデート2
私はhost! 'api.localhost.local'
を設定し、それは動作します。 参考:https://github.com/rspec/rspec-rails/issues/1662 Ref2の:http://www.screencast.com/t/nyZ2jKQi
Rspec.configure do |config|
config.before(:all, type: :request) do
host! 'api.lvh.me'
end
end
また、私は、私はサブドメインで、このようなルートを設定し、なぜ一度疑問、それはルート<subdomain_name>.localhost.local:3000
デフォルトとして?
json_bodyを '{foo::foo、bar::bar}'とするとどうなりますか? –
routes.rb、コントローラの特定の部分とサブドメインの設定方法を投稿できますか? – slowjack2k
'{'Content-Type' => 'application/json'、 'Accept' => 'application/json'}' – zetetic