我想在我的网站前面放一些统计信息,例如:
# controller: jobs, action: index
@jobcount = Job.count
@usercount = User.count
@categorycount = Category.count
@companycount = Job.distinct.count('company')
目前这些变量都在控制器中设置:
// To declare a null pointer.
int *ptr=NULL;
if(ptr==NULL) //..do something..
但我认为这是在 MVC 中执行此操作的最糟糕方式。谁能告诉我应该怎么做?
答案 0 :(得分:1)
如果我们将the rails style guide作为参考,则说我们应该避免使用sharing more than two instance variables in a controller。
绕过装饰者的方法(如评论中所述)。一个提供这种功能的流行图书馆,或者你自己写的一些普通红宝石对象。
答案 1 :(得分:1)
我会选择这种风格:
@statistics = {
job_count: Job.count,
user_count: User.count,
category_count: Category.count,
company_count: Job.distinct.count('company')
}