【问题标题】:undefined method `group' for #<Poll:0x007f0a1c2610b0>[Chartkick]#<Poll:0x007f0a1c2610b0>[Chartkick] 的未定义方法“组”
【发布时间】:2015-03-28 01:21:07
【问题描述】:

我创建了一个迷你投票游戏,我想在饼图中显示用户的投票。我使用 Chartkick 来做到这一点,我的代码在这里:

<div class="form-group">
    <%= content_tag(:label) do %>
        <% unless current_user.voted_for?(@poll) %>
            <%= radio_button_tag 'vote_option[id]', option.id %>
        <% end %>
        <%= option.title %>
    <% end %>
    <%= visualize_votes_for option %>
    <%= pie_chart @poll.group(:title).count('votes') %>
</div>

我希望相应地显示option.titleoption.votes。这是vote_option.rb 模型:

class VoteOption < ActiveRecord::Base
  belongs_to :poll
  has_many :votes, dependent: :destroy
  has_many :users, through: :votes

  validates :title, presence: true
end

这是我得到的错误:

ActionView::Template::Error (undefined method `group' for #<Poll:0x007f0a1c2610b0>)

对这个问题有什么想法吗?

【问题讨论】:

  • 也许你的意思是@poll.poll_options.group(:title).count('votes')
  • @DylanMarkow 我的项目中没有poll_options 方法

标签: ruby-on-rails-4 chartkick


【解决方案1】:

已解决 经过几个小时的搜索,我发现了我的错误:我们不能在模型的实例上调用 .group,我们必须在模型类上调用它,这就是为什么我得到这个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    相关资源
    最近更新 更多