gpt4 book ai didi

ruby-on-rails - Rails 创建自定义函数/方法以及存储位置

转载 作者:行者123 更新时间:2023-12-03 07:55:23 25 4
gpt4 key购买 nike

在我的文章索引页上,我有一个显示文章数量的条件,“文章”一词的语法根据数量而变化。这是当前有效的。如下:

view/article/index.html.erb

<h1>All Article Page</h1>

<% if Article.count == 1%>
This blog has <%= Article.public_count %> article so far!
<% elsif Article.count >= 2 %>
This blog has <%= Article.public_count %> articles so far!
<% else %>
<%= Article.public_count %> articles, so lonely :(
<% end %>

我如何创建一个自定义方法或函数来应用上述内容,而不必在将来在不同的 View 上重复编写所有内容,并遵循 DRY。我知道部分,但想知道是否有一种更像 Rails 的方式来做到这一点,考虑到它是一个高度固执己见的系统。

经过研究,尚不清楚它是否应该放入我的文章模型、配置/初始化程序或我的应用程序/ Controller 中。

作为示例,该方法将类似于下面的内容,保存在名为“article_count.rb”的文件中。然后在索引 View 中调用,但是没有任何反应:

def display_article_count_string
if Article.count == 1
p "This blog has #{Article.public_count} article so far!"
elsif Article.count >= 2
p "This blog has #{Article.public_count} articles so far!"
else
p "0 articles, so lonely :("
end
end

最佳答案

对于简单而不是复杂的逻辑, View 逻辑可以进入 Rails 项目的 app/helpers 中。

对于您的文章 Controller ,帮助程序文件将位于 app/helpers/articles_helper.rb

module ArticlesHelper

def display_article_count_string
if Article.count == 1
p "This blog has #{Article.public_count} article so far!"
elsif Article.count >= 2
p "This blog has #{Article.public_count} articles so far!"
else
p "0 articles, so lonely :("
end
end

end

对于想要在不同 View 之间共享的更常见内容,app/helpers/application_helper.rb 是另一个地方。

提示:另一个有用的 Rails View 助手是 pluralize(1, 'article') 方法。它可以帮助提供资源名称的单数/复数形式 More Info

关于ruby-on-rails - Rails 创建自定义函数/方法以及存储位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76188523/

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