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