Rails 3,在哪里放置方法



他们有一个方法叫做投票?看看是否有人投票。我应该把它放在哪里,以便它可以在控制器和视图中使用?首先考虑将它放在投票记录模型中,但我不能在那里调用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/帮助/yourmodel_helper.rb

相关内容

  • 没有找到相关文章

最新更新