我在HAML文档中有一些插值的ruby代码,如下所示:
:javascript
a = { 'something' : "#{model.attribute.present? ? method(parameter) : ''}" }
但是,方法(参数)会抛出一些带有参数的异常,所以我想挽救异常。抛出异常时,我希望将'something'键映射到其他东西。
我不清楚如何使用HAML代码/ ruby插值执行此操作的确切语法。我尝试了几件事,但它没有用。
谢谢!
答案 0 :(得分:6)
你应该采取这一行
model.attribute.present? ? method(parameter) : ''
并从中制作一个帮助方法
class ApplicationHelper
def some_method
model.attribute.present? ? method(parameter) : ''
rescue
"something else" # this is your value in case of exception
end
end
然后你的HAML变得微不足道
:javascript
a = { 'something' : "#{some_method}" }