2011-05-06 62 views
1

嘿有投票方法嗎?看看是否有人投票。我將它放在哪裏,以便它可以在控制器和視圖中使用?首先想到把它放在投票記錄模型中,但我不能在那裏調用current_user。然後項目助手,但它也失敗了?Rails 3,在哪裏放方法?

def voted?(project) 
    Project.votes.exists?(:project_id => project.id, :user_id => current_user.id) 
end 

感謝

回答

2

您是否考慮過這種情況?

class User < ActiveRecord::Base 
    has_many :votes # assuming you have this association 
    def voted?(project) 
    votes.exists?(:project_id => project) 
    end 
end 

現在,您可以在控制器中使用以下任何位置(保持它們很瘦),並保持它的整潔。

current_user.voted?(project) 
+0

太棒了,就像我想要的那樣工作。謝謝,使用rails只有5天。 – John 2011-05-06 22:14:09

0

把它放在幫手模型..

例如./app/helpers/yourmodel_helper.rb

1

您應該將它放在User類中。但是:您應該使用用戶實例的user_id,而不是current_user