[英]Rails 3, where to put method?
嘿有叫投票的方法嗎? 看看是否有人投票。 我將它放在哪里,以便可以在控制器和視圖中使用? 首先考慮過將其放置在“投票記錄”模型中,但是我不能在那里調用current_user。 然后是項目助手,但那里也失敗了嗎?
def voted?(project)
Project.votes.exists?( :project_id => project.id, :user_id => current_user.id )
end
謝謝
你有考慮過嗎?
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)
您應該將其放在User
類中。 但是:您應該讓它使用用戶實例的user_id
而不是current_user
將其放入模型的幫助器中。
例如./app/helpers/yourmodel_helper.rb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.