gpt4 book ai didi

ruby - Sinatra:避免模板上的代码

转载 作者:数据小太阳 更新时间:2023-10-29 08:00:07 25 4
gpt4 key购买 nike

我是 Ruby 和 Sinatra 的新手,但我已经阅读了一些有关 Rails 的内容。 Rails 大师告诉我们要做的一件事是将代码留在模板之外。

好吧,这是我的代码,就在我的模板中需要信息的地方。它有效,但是为了学习最佳实践,我如何才能将它从我的模板中移出到我的 app.rb 文件中而不在依赖于模板的每个代码块 (CRUD) 中重复它?

<h2>Status</h2>
<ul>
<li>Received<span><%= Inbox.count %></span></li>
<li>Sent<span><%= Outbox.all(:processed => 1).count %></span></li>
<li><Scheduled<span><%= Outbox.all(:error => -1).count %></span></li>
<li>Error<span><%= Outbox.all(:error.not => [-1,0]).count %></span></li>
</ul>

多谢指点。

最佳答案

只需将计数加载到定义路​​由的实例变量中:

get('/or_so') do
@inbox_count = Inbox.count
@sent_count = Outbox.all(:processed => 1).count
@scheduled_count = Outbox.all(:error => -1).count
@errored_count = Outbox.all(:error.not => [-1,0])

erb :your_template
end

如果你要在多个页面上加载它们,还有 before

before(/this|insane|regexp|to|grep|locations/) do
# assign variables
end

关于ruby - Sinatra:避免模板上的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751362/

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