Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 显示记录计数-Ruby on Rails-Ajax_Ruby On Rails_Ruby_Ajax_Count - Fatal编程技术网

Ruby on rails 显示记录计数-Ruby on Rails-Ajax

Ruby on rails 显示记录计数-Ruby on Rails-Ajax,ruby-on-rails,ruby,ajax,count,Ruby On Rails,Ruby,Ajax,Count,我是rails的新手,如果有时候我没什么道理,我很抱歉。这就是我要做的。我正试图建立一个投票制度。因此,在一篇博文旁边有一个链接,上面写着“投票”(稍后可能会这样说)。到目前为止,我一直在工作:当点击投票按钮时,一个值“1”被传递到投票表,然后特定的POST投票记录通过AJAX显示在投票下面(我复制了一个评论功能)。我希望它呈现更新的计数,而不是呈现下面的所有数字“1” “我的投票表”中的“投票”和“post_id”列已成功输入。我的想法是,我可以改变我的部分模板来实现这一点。代码如下: 主控主

我是rails的新手,如果有时候我没什么道理,我很抱歉。这就是我要做的。我正试图建立一个投票制度。因此,在一篇博文旁边有一个链接,上面写着“投票”(稍后可能会这样说)。到目前为止,我一直在工作:当点击投票按钮时,一个值“1”被传递到投票表,然后特定的POST投票记录通过AJAX显示在投票下面(我复制了一个评论功能)。我希望它呈现更新的计数,而不是呈现下面的所有数字“1”

“我的投票表”中的“投票”和“post_id”列已成功输入。我的想法是,我可以改变我的部分模板来实现这一点。代码如下:

主控主任:

class VotesController < ApplicationController

  def create
    @post = Post.find(params[:post_id])
    @vote = @post.votes.create!(params[:vote])

    respond_to do |format|
       format.html { redirect_to @post}
       format.js
     end
  end
end

  def count
    @post = Post.find(params[:post_id])
    @vote = calculate :count

      respond_to do |format|
         format.html { redirect_to @post}
         format.js
    end
  end
end
我希望这一切都有意义

您可能想要:

<%= @post.votes.count %>


您可能还想使用而不是插入html-这有意义吗?Insert只是向DOM添加更多元素,而replace将替换元素

我认为这是重复的,因为您的.rjs是在div的“底部插入”,而不是“替换”。。。您可能需要page.replace\u html


最好有一个DIV或SPAN标记,其中包含一篇文章的投票数。。。然后让您的.rjs文件用投票数(即@post.voces.count)更新DIV的内部_html。。。我不认为你真的需要一个分部。

它需要,但会重复。3 3 3
<% div_for vote do %>

        <%= h(vote.vote) %> 
    <% end %>
page.insert_html :bottom, :votes, :partial => @vote
page[@vote].visual_effect :highlight
<%= @post.votes.count %>