【发布时间】:2013-06-08 17:46:19
【问题描述】:
我正在尝试布局一些部分,如下所示:
if controller == home
render partail 0
else
render partial 1
end
render partial 2
render partial 3
if controller == home
render partail 4
end
render partial 5
我已将if controller == home 部分重复了三遍。有没有办法让代码遵循“DRY”的方法?
【问题讨论】:
-
我只看到你的
if controller测试两次。而且,我认为您将很难减少代码。 DRY 是一个伟大的概念,但它是指导原则,而不是法律。有时我们不得不重复一些事情,因为逻辑迫使它。请注意通过避免重复来减少代码的必要性,并尝试这样做。 -
您可以像这个控制器一样更改第一个块 == home ?渲染部分 0:渲染部分 1
-
@QuaziMarufurRahman 三元运算符在这里没有帮助,您仍然需要重复控制器 == 主页部分,它只是一个较短的形式。谢谢你。
-
@theTinMan yh 在部分 5 之后还有一个,我明白你的意思。
-
如果有尾随
if,则说明您的示例代码中缺少它。
标签: ruby-on-rails ruby ruby-on-rails-3 dry