簡體   English   中英

Rails 3,在哪里放方法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM