- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个新应用程序,我在搜索 Controller 上有一个索引方法。这也是应用程序的主页,我正在尝试从设计模式的角度来判断我是否走错了路。
该方法已经有 35 行了。以下是该方法的作用:
3 行设置变量以确定正在搜索的分层数据的“级别”。
另外 10 行根据子域是否在请求中填充一些 View 变量。
重定向到两个页面之一的 10 行部分:
1) 如果用户没有访问权限,并且已登录但尚未请求访问权限,请告诉他们“单击此处请求访问该品牌”。
2) 如果用户没有访问权限、已登录并且已经请求访问权限,请告诉他们“某某正在审核您的请求”。
另外 10 行用于构建动态区域。
我无法直接理解如何分离这些关注点,或者即使它们应该分离。感谢您提供的任何帮助!
最佳答案
总结你所说的类似代码的内容(抱歉,不了解 ruby;将其视为伪代码):
void index() {
establishHierarchyLevel();
if (requestIncludedSubdomain())
fillSubdomainFields();
else
fillNonsubdomainFields();
if (user.isSignedIn() && !user.hasAccess()) {
if (user.hasRequestedAccess())
letUserIn();
else
adviseUserOfRequestUnderReview();
}
buildDynamicArelWhateverThatIs();
}
14 行而不是 35 行(当然,提取的方法主体会拉长整体代码,但您可以看看这个并知道它在做什么)。值得做吗?这实际上取决于您或后续程序员是否更清楚。我的猜测是值得这样做,将小代码块拆分成它们自己的方法将使代码更易于维护。
关于ruby-on-rails - 这种 Rails 3 Controller 方法让我看起来很胖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4024835/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!