我想在ApplicationController中放置公共控制器动作,索引,显示,创建等,如下所示:
class ApplicationController < ActionController::Base
respond_to :json
def index
#implementation
end
def show
#implementation
end
def update
#implementation
end
end
该应用只返回JSON。
我已经编写了以下规范来测试这个使用RSPEC的匿名控制器
describe ApplicationController do
controller do ; end
describe 'Get :index' do
it 'should respond to index' do
get :index
response.code.should eq "200"
end
end
end
上述规范给出了以下错误:
ActionView :: MissingTemplate:缺少模板匿名/索引, 应用程序/索引{:locale =&gt; [:en],:formats =&gt; [:json], :handlers =&gt; [:erb,:builder]}。搜索范围:* “#”
有人可以建议使用匿名控制器的方法吗?
答案 0 :(得分:0)
尝试这可能会有所帮助
您的控制器
def index
end
你的rspec测试如
describe "GET index" do
it "should respond to index" do
get :index
response.code.should eq "200"
end
end
在您的应用程序/文件夹中创建index.html.erb
然后测试它。
答案 1 :(得分:0)
描述“GET索引”做
it "returns correct JSON" do
# @groups.should have(2).items
get :index, :format => :json
response.should be_success
body = JSON.parse(response.body)
body.should include('group')
groups = body['group']
groups.should have(2).items
groups.all? {|group| group.key?('customers_count')}.should be_true
groups.any? {|group| group.key?('customer_ids')}.should be_false
end
端