我有一個HAML模板,我想渲染並可選地提供一個局部變量,在這裏稱爲post,以便它使用提供的變量作爲元素屬性的值,或者回退到顯式默認值。如何在HAML中爲當地人使用默認值?
下面的代碼顯示了我的意思,但如果沒有提供post
,它將無法運行。有沒有一個乾淨的解決方案?我有相當多的這些領域,我寧願不必與- if defined?
聲明保持重複,這是我能想到的唯一另一種選擇。
%label
Post title
%input{:name => "title",
:value => (defined? post) ? post.title : ""} }
在一個帶有可選變量的erb partial中,我通常只會說'post || = nil'。然後,您可以執行條件邏輯,而不會觸及未定義的變量異常。 – 2011-12-29 00:44:45