在我的新rails项目中,我想将用户的帖子编号限制为类似点的东西。每个月初,每个用户都会获得有限的积分。当用户用完他们的积分时,他们什么都做不了。
我的问题是,如何在每个月初在 Rails 中自动给用户这个积分?如何设计模型和控制器?
谢谢。
我认为你应该使用类似 when. 来安排你的任务。这是来自 whenMaillist 的"每月工作语法问题"。一般来说,你会有这样的东西:
# shedule.rb
every 1.month, :at => "beginning of the month at 3am" do
runner "User.set_points" # or rake "task:for:user:set_poins" if you have rake task for this
end
# user.rb
def self.set_points
User.all.each{|u| u.update_attribute(:points, some_function_to_calculate_points(u)}
end
我希望这有所帮助。