【发布时间】:2023-03-30 07:28:03
【问题描述】:
我正在尝试创建一个投票系统。正在投票的模型是问题,我有另一个名为 Vote 的模型,它拥有 issue_id 和 0 或 1 的投票值。投票是使用带有隐藏字段的表单创建的。这是问题索引视图。
<h1>Votes</h1>
<% @issues.each do |issue| %>
<li>
<div class="issue">
<h2><%= issue.title %></h2>
<p><%= issue.body %></p>
<%= form_for(@vote, :remote => true) do |f| %>
<%= f.hidden_field "issue_id", :value => issue.id %>
<%= f.hidden_field "vote", :value => 1 %>
<%= submit_tag "Up", :class => 'up-vote' %>
<% end %>
<%= form_for(@vote, :remote => true) do |f| %>
<%= f.hidden_field "issue_id", :value => issue.id %>
<%= f.hidden_field "vote", :value => 0 %>
<%= submit_tag "Down", :class => 'down-vote' %>
<% end %>
</div>
</li>
<% end %>
问题和投票之间存在has_many 和belongs_to 关系。我想在每个问题的按钮旁边显示赞成票和反对票的数量。所以我需要为每个问题拉出所有投票 = 1 的选票,以及所有投票 = 0 的选票,并计算每个问题。也想知道总票数。我该怎么做?我在问题模式中的投票模型问题关联和 votes_count 列上设置了 counter_cache。这项工作应该在控制器还是模型中完成?
【问题讨论】:
-
我不认为我将要链接的内容与您尝试构建的内容相同......但它可能会有所帮助,也许?这是链接:railscasts.com/episodes/364-active-record-reputation-system ...当我阅读他们的网站时遇到了它。对整个 ruby/rails 来说有点新。无论如何,希望它有所帮助。
标签: ruby-on-rails associations voting