gpt4 book ai didi

ruby-on-rails - 如何在Ruby on Rails中使用应用程序助手

转载 作者:行者123 更新时间:2023-12-03 12:02:28 24 4
gpt4 key购买 nike

我正在尝试在网站的每个页面上发布随机推荐。

我首先使用这样的应用程序帮助程序:

module ApplicationHelper

def random_testimonial
@random_testimonial = Testimonial.find(:first, :offset => rand(Testimonial.count))
end

end

在我看来,我可以引用该方法,但是每次引用都会调用它,这很有意义。

我希望在每个页面 View 上调用一次,以暴露一个我可以在 View 中使用的推荐对象。

我应该怎么做才能做到这一点?

最佳答案

虽然这行得通,而且我当然也知道这样做,但它违反了MVC的关注点分离。 View 助手不应该包含 Controller /模型类型逻辑。

您可能考虑将其重构回应用程序 Controller 。助手应该用于 View 格式和内容,而不仅仅是功能(这是我一开始就一直想要做的事情。)

如果您回到Testimonail模型,可以做

def self.random
Testimonial.find(:first, :offset => rand(Testimonial.count))
end

然后在您的应用程序 Controller 中,您可以执行以下操作:
def random_testimonial
@random_testimonial ||= Testimonial.random
end

并从一个before_filter调用它

这具有将数据库逻辑移回到它所属的模型中的优势。

关于ruby-on-rails - 如何在Ruby on Rails中使用应用程序助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/477114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com