简而言之:
问题是,在教程中,我被告知要创建一个microposts资源,以及它的模型和控制器。在使用 rspec 测试其某些操作时,我在创建和销毁操作时遇到“缺少模板”错误。但是本教程没有说明为这些操作创建视图,根据它,这些测试应该通过。
这是我对问题的原始较长描述:
我正在做railstutorial.org ,并且在第 11.3.2 章中遇到了一些问题。在清单 11.25 中,我们为 Micropost 创建操作编写了测试。运行它们后,我得到一个模板错误,在所有它们中:
ActionView::MissingTemplate:
Missing template microposts/create with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths "/Users/me/Dropbox/dev/rails/tutorial/app/views"
我很困惑。本教程没有说明为这些操作创建视图,并且此时测试应该通过。也许我做错了什么的迹象是教程没有提到需要使用 generate 来创建 Microposts 控制器,但我使用了它。
这是我的微博控制器:
class MicropostsController < ApplicationController
before_filter :authenticate
def create
end
def destroy
end
end
和我的 routes.rb
Secondappr::Application.routes.draw do
get "sessions/new"
resources :users
resources :sessions, :only => [ :new, :create, :destroy ]
resources :microposts, :only => [ :create, :destroy ]
get "pages/home"
root :to => 'pages#home'
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
match '/signup', :to => 'users#new'
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'
end