【发布时间】:2012-02-22 15:05:43
【问题描述】:
我有两个表用于检查视图(页面访问量)-图库和摄影师(PhotographerView)中的图片视图(PhotoView)。 因为这两个模型(和表)是相同的,所以我想为它们创建一个模型 - 类似于:
class Func < ActiveRecord::Base
def self.check_views(model_view, data)
last_view = model_viewView.where('ip_address = ? AND request_url = ?', request.remote_ip, request.url).order('created_at DESC').first
unless last_view
model_view+View.new(...).save
model_view.increment_counter(:views, data.id)
else
if (DateTime.now - last_view.created_at.to_datetime) > 1.day
model_view+View.new(...).save
model_view.increment_counter(:views, data.id)
end
end #comparing dates
end
end
并像这样调用这个方法:
@photo = Photo.find(params[:id])
Func.check_views('Photo', @photo)
当我尝试使用上面的方法时,我会得到错误 undefined method `check_views' for Func(Table doesn't exist):Class
你能给我一个帮助,如何使它工作? 谢谢
【问题讨论】:
-
所以
Func没有桌子? -
不,
Func应该只是一个辅助模型
标签: ruby-on-rails-3 methods model action