首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过会员路线“张贴”的投票创造的vote化

通过会员路线“张贴”的投票创造的vote化
EN

Stack Overflow用户
提问于 2013-05-26 18:57:57
回答 1查看 35关注 0票数 0

我有一个多态投票模型,被称为通过一个成员路线"POST“在3个不同的模式。在下面的每个父模型(routes.rb)中,我在每个相应的控制器中都有一个投票方法,该方法传递正确的参数来为该模型创建一个投票。

这是从头开始的评级系统的类似实现,如Ryan http://railscasts.com/episodes/364-active-record-reputation-system所示。

然而,这一切都很好,但是我想要a化创建一个投票。

我如何做到这一点,当一个投票是通过张贴到vote_object_path,如下所示?我尝试了一个jQuery函数来发布表单,但是它出错了,请求创建/投票模板,如果可能的话,我希望保留这个实现的简单性。

代码语言:javascript
复制
<div class="vote">
  <b>Votes: <%= answer.votes_count %></b><br>
  <%= link_to "up", vote_answer_path(answer, value: 1), method: "post" %>
 <%= link_to "down", vote_answer_path(answer, value: -1), method: "post" %>
</div>

routes.rb

代码语言:javascript
复制
resources :questions do
     resources :comments, except: [:edit, :update]
     member { post :vote }
   end

  resources :comments do 
    member { post :vote }
  end 

  resources :answers do 
    member { post :vote }
  end

answers_controller.rb

代码语言:javascript
复制
def vote 
    @vote = current_user.votes.build(value: params[:value], votable_id: params[:id], votable_type: "Answer")
    respond_to do |format|
    if @vote.save
      format.html {redirect_to :back, notice: "Vote submitted"}
      format.js
    else
      format.html {redirect_to :back, alert: "You can't vote on your own content"}
      format.js
    end
  end
end 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-26 19:15:20

我建议您绑定来自jQuery的单击,发布查询,并更新HTML。

代码语言:javascript
复制
$('a.vote').click(function () {
  var url = this.href; // get URL link
  $.post(url);
});

然后,在vote.js.erb

代码语言:javascript
复制
$('#vote_count').html("Votes: <%= current_user.votes %>");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16762650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档