4

我在 HAML 文档中有一些插入的 ruby​​ 代码,如下所示:

:javascript
    a = { 'something' : "#{model.attribute.present? ? method(parameter) : ''}" }

但是,方法(参数)正在抛出带有一些参数的异常,所以我想挽救这个异常。当抛出异常时,我希望将“某物”键映射到其他东西。

我不清楚如何使用 HAML 代码/ruby 插值来执行此操作的确切语法。我已经尝试了几件事,但它不起作用。

谢谢!

4

1 回答 1

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}" }
于 2012-07-09T21:07:12.527 回答