2009-09-04 42 views
0

我有這個在我的HAML觀點之一:有沒有辦法在haml中的多行寫單個表達式?

-form_for :news_item_comment, :url=>{:id => comment.id, :controller => 'comment' , :action => 'add_comment'}, :html => {:id => "form-#{comment.id}"} do |f|  
    ... 

因爲它是很長,難以閱讀我想它在2線分割。無論如何不違反哈姆的空白規則呢?

+0

我有一個類似的情況:'= link_to image_tag(product.product_images.find_by_scene_id(@scene).product_image.url(:small),:alt = > to_slug(product.name)),'#''。我認爲這個問題可能是一般用途,所以我會開始一點賞金。 – 2012-01-16 21:02:01

+0

爲什麼不把你的文本編輯器中的列數設置爲適合你屏幕的合理大小? – dombesz 2012-01-18 10:54:35

+0

因爲那樣我仍然有很長的路線。我希望這段代碼更具可讀性,很長的一行仍然難以閱讀。 – 2012-01-21 23:09:55

回答

6

是的,有multiline syntax。但是,鼓勵您將長排移入輔助方法而不是使用它,因爲這將使您的模板在長期運行中更具可讀性。

+0

不能同意更多。輔助方法比多行HAML更受歡迎。如果你需要*多行,你的觀點太過分了。 – tadman 2012-01-22 00:03:13

+0

我希望任何有這個問題的人都會遇到這個帖子,因爲這是一個非常不同的,並且可能更好的方法來解決我想要解決的可讀性問題。 – 2012-01-22 17:06:04

+0

似乎鏈接已過期 - 404未找到 – fiction 2014-08-07 17:16:11

0

在早期版本的haml中,沒有辦法多行寫一個單獨的語句 - 這令我感到沮喪,就像你在某些情況下使模板更難讀取一樣。

理論上有一個多行syntax用於處理具有很多屬性的語句。我還沒有嘗試過使用它 - 但它值得一試,如果這樣做不起作用,那麼很可能仍然是這種情況,您不能多行說明這種類型的聲明。

+0

似乎鏈接已過期 - 404沒有找到 – fiction 2014-08-07 17:19:37

相關問題