我在 HAML 文档中有一些内插的 ruby 代码,如下所示:
:javascript
a = { 'something' : "#{model.attribute.present? ? method(parameter) : ''}" }
但是,方法(参数)正在抛出某些参数的异常,所以我想挽救异常。当抛出异常时,我希望将“某物”键映射到其他东西。
我不清楚如何使用 HAML 代码/ruby 插值来执行此操作的确切语法。我已经尝试了几件事,但没有用。
谢谢!
最佳答案
你应该走这条线
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}" }
关于ruby-on-rails - 在 HAML 文档中的 Ruby 插值中拯救异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11402916/