导轨看不到 .rjs 文件



我正在尝试学习如何在我的rails应用程序中使用AJAX,所以我决定从简单的东西开始。我有一个博客应用程序,用户可以对任何博客文章进行投票。这是我的posts#vote代码:

posts_controller.rb

class PostsController < ApplicationController
  (...)
  def vote
    post = Post.find(params[:id])
    if current_user.voted_on?(post)
      current_user.unvote_for(post)
    else
      current_user.vote_for(post)
    end
    respond_to do |format|
      format.html { redirect_to post_path(post) }
      format.js
    end
  end
end

这是我posts#view的链接代码:

查看.html.erb

<%= link_to "Vote", vote_post_path(post.id), :remote => true %>

现在,如果我单击我的Vote链接,posts#vote操作有效并投票,但是我收到错误:

行动视图::缺少模板(

缺少模板帖子/投票, application/vote with {:handlers=>[:haml, :coffee, :erb, :builder], :locale=>[:en], :formats=>[:js, :html]}.

我的views/posts文件夹中有(空)vote.rjs文件,但由于某种原因,rails 看不到它。根据错误,rails搜索的唯一文件扩展名是.haml.coffee.erb.builder。该列表中不应该也有一个.rjs扩展吗?提前谢谢。

你的文件应该被称为vote.js.erb。Rails 不使用.rjs扩展。

.rjs扩展最初用于RailsPrototype JS库。

随着Rails 3.1,默认库被切换到JQuery。

如果你想在你的Rails项目中使用.rjs,这意味着使用Prototype而不是JQuery。这方面的宝石是原型导轨。

相关内容

  • 没有找到相关文章

最新更新