打印模型在视图中计数(MVC)

时间:2015-08-10 06:43:12

标签: ruby-on-rails ruby model-view-controller

我想在我的网站前面放一些统计信息,例如:

# 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 中执行此操作的最糟糕方式。谁能告诉我应该怎么做

2 个答案:

答案 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') }