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