如何在rails中为对象创建方法?

时间:2010-10-01 19:52:15

标签: ruby-on-rails

嘿伙计们,所以我的项目中有两个模型,研磨者和投票。

所以每个研磨者都有很多选票,投票属于研磨者。

投票表有3列:grinder_id:integer,choice:string和voter_ip:string

我如何以及在哪里为我的研磨机制作方法?我希望能够做类似

的事情
<% @grinders.each do |grinder| %>
  <%= grinder.votes_up %>
<% end %>

我在哪里定义?

def self.votes_up 
  grinder.votes.find(:all, :choice => "up").count
end

如果这是正确的方法,请纠正我,如果我错了,请。

1 个答案:

答案 0 :(得分:4)

app/models/grinders.rb内你应该写

class Grinder < ActiveRecord::Base
  def votes_up
    count "choice = 'up'"
  end
end