我试图将ajax添加到类似Twitter的微博控制器时出现ActionView::MissingTemplate
错误。这是完整的错误:
ActionView::MissingTemplate (Missing template microposts/create with {:handlers=>[:rhtml, :erb, :rxml, :builder, :rjs], :locale=>[:en, :en], :formats=>[:js, :html]} in view paths "/rubyprograms/sample_app/app/views"):
app/controllers/microposts_controller.rb:9:in `create'
这是我的create
方法。顺便说一下,第9行是respond_to
行:
def create
@micropost = current_user.microposts.build(params[:micropost])
if @micropost.save
flash[:success] = "Micropost created!"
respond_to do |format|
format.html { redirect_to root_path }
format.js
end
else
@feed_items = []
render 'pages/home'
end
end
我做错了什么?
更新:我的views
文件夹中有我的.rjs文件。它应该在哪里?文件应该具有特定名称吗?它目前被称为create.rjs
答案 0 :(得分:0)
create.rjs
应位于app/views/microposts
答案 1 :(得分:0)
文件名应为
create.js.erb
然后在您的控制器中,您必须使用:
respond_to do |format|
format.js # view create.js.erb
end
答案 2 :(得分:-1)
要在rails 3中使用rjs,请使用 *
原型轨
* gem