2012-07-09 50 views
4

我有個位的內插紅寶石代碼HAML文件看起來像下面在紅寶石插值內拯救例外:在HAML文獻

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

然而,方法(參數)與一些參數拋出異常,所以我想拯救這個例外。當拋出異常時,我想把'something'鍵映射到別的東西上。

我不清楚如何使用HAML代碼/ ruby​​插值來完成此操作的確切語法。我嘗試了幾件事,但它不起作用。

謝謝!

+2

裹這一個輔助方法 – 2012-07-09 20:52:32

+0

可以你更具體嗎?我真的不知道你的意思。 – 2012-07-09 21:03:00

回答

6

你應該走這條線

model.attribute.present? ? method(parameter) : '' 

,並作出helper方法出來的

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}" }