I feel that code will speak more than words in this case, so place to The code :
config/routes.rb
namespace :embed do
  namespace :v1 do
    resources :articles
  end
end
app/controllers/embed/v1/articles_controller.rb
class Embed::V1::ArticlesController < ApplicationController
  def index
    render :text => 'ok'
  end
end
spec/controllers/embed/v1/articles_controller_spec.rb
require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
describe Embed::V1::ArticlesController do
  it "should do something" do
    get :new
  end
end
Running rspec spec
$ rspec spec
F
Failures:
  1) Embed::V1::ArticlesController should do something
     Failure/Error: get :new
     AbstractController::ActionNotFound:
       The action 'new' could not be found for Embed::V1::ArticlesController
     # ./spec/controllers/embed/v1/articles_controller_spec.rb:5
Finished in 0.01665 seconds
1 example, 1 failure
Any idea why is that? Is there a nested limitation? Accessing the url http://0.0.0.0:3000/embed/v1/articles renders ok as expected.
You don't have a the new action defined in Embed::V1::ArticlesController, only the index action. You are trying to hit the new action in your specs with get :new.
You should define the action new, in your code you didn't defined in controller the new action and called on rspec the new action!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With