我正在尝试找到更干的方法来执行以下操作:
- if request.xhr?
:javascript
{my javascript}
- else
= content_for :scripts do
:javascript
{my javascript}
我在许多haml文件中重用了这个模式,所以我想知道抽象出条件逻辑的最佳方法是什么。理想情况下,我想在我的haml文件中实现以下内容:
optional_content_for :scripts do
:javascript
{my javascript}
谢谢!
答案 0 :(得分:1)
这似乎解决了我的需要,以防其他人有同样的要求......
def script_content_for(&block)
if request.xhr?
capture_haml(&block)
else
content_for :scripts, nil, &block
end
end
使用:
= script_content_for do
:javascript
{my js}