试图将ajax添加到RoR应用程序

时间:2011-03-03 03:33:07

标签: ruby-on-rails ajax debugging ruby-on-rails-3

我试图将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

3 个答案:

答案 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