ruby-on-rails – Rails – 一种视图中的多种模型
发布时间:2020-12-17 03:35:20 所属栏目:百科 来源:网络整理
导读:我需要从单个视图访问多个模型.以前,我的links_controller仅用于提供以不同方式排序的链接资源.现在我想包括一个部分(我是假设),它显示按分数排序的最高用户(@users = User.all.sort_by(:score)) 我知道我可以将此代码插入到每个链接操作中并从视图中访问它
我需要从单个视图访问多个模型.以前,我的links_controller仅用于提供以不同方式排序的链接资源.现在我想包括一个部分(我是假设),它显示按分数排序的最高用户(@users = User.all.sort_by(&:score))
我知道我可以将此代码插入到每个链接操作中并从视图中访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型.这可能变得很脏,这种情况有什么技巧吗? 笔记: >我看到我的应用程序朝着具有动态页面内容的单一格式的方向发展,实质上是典型的Web应用程序. 解决方法
这种事情最好被封装为一个由特定部分运用的辅助方法.例如,如果这是您的部分_user_listing.html.erb:
<% users_by_score.each do |user| %> ... <% end %> 然后,您将在所有相关控制器包含的帮助文件中实现users_by_score方法,如果它是普遍的,则在ApplicationHelper中实现: def users_by_score User.all.sort_by(&:score) end 在其他MVC系统中,这将被视为具有自己的控制器的子视图,但在Rails中,您可以做的最好的是拥有辅助方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |