事情就是这样。我有一个按钮,根据场景的不同,它的行为、外观和文本都不同。目前大致是这样的:
- if params[:param_A] && @statement_A
%span.button.cancel_button{attribute: "value_B"}
- if @statement_B
= t('locale_A')
- else
= t('locale_B')
- elsif params[:param_A]
%span.button.cancel_button{attribute: "value_A"}
- if @statement_B
= t('locale_A')
- else
= t('locale_B')
还有一个 CSS 类,两个按钮都应该有 IF statement_B 为真。
所以这是一团糟。我最近读到了我非常喜欢的“告诉,不要问”原则,所以我很想在这里应用它......但我不确定如何。
我知道我可以做一个帮手,但我想远离他们,因为原因(我确实有一些正当的理由这样做,但这些超出了这个问题的范围)。我可以将其作为最后的资源,但宁愿找到另一种解决方案。