我有这个声明,我想在我NewsroomController
的所有行动中使用这个声明,我该怎么做才干,而不是在每个动作中声明它?
@num_posts_today = Post.published.posted_today.count
答案 0 :(得分:2)
使用before_action
块。但是,请阅读this,了解为什么它可能不是很棒。
答案 1 :(得分:1)
我会把逻辑放在模型中。类似的东西:
def posts_published_today_count
self.published.posted_today.count
end
或者写一个类方法。
def self.published_today
self.published.posted_today
end
在您的控制器中:
Post.published_today.count
或者在观点中:
@posts.published_today.count
你明白了......我没有测试我写的内容,随时可以进行修改。
我更喜欢在没有.count的情况下在我的模型上编写它,你可以将它用作未来需要使用的范围。