2014-06-25 96 views
0

我想知道如何使它更容易重複的代碼。像所有的模型頁一樣,我使用相同類型的代碼來顯示所有屬性值。每次我要鍵入相同的部分:導軌4,乾燥的定製包裝

%label.col-sm-3.control-label 
    = :attribute 
.col-sm-9 
    = @attribute.value 

我試圖做傭工的東西,但不能得到任何工作。我試圖讓事情(DRY),如:

= form_row, :attribute, @attribute.value 

這應該生成一套完整的包括CSS等

+1

'form_row'是你的助手的名字嗎?在方法名稱和第一個參數之間不應該有逗號。另外,你可能真正想要的是部分。 – depquid

+0

爲了避免每次都創建標籤,你可以使用https://github.com/plataformatec/simple_form#custom-inputs很容易用標籤創建自定義輸入。 – mixan946

+0

@depquid:form_row確實是幫手的名字 – Jerry

回答

2

助手應該像

def form_row(name, value) 
    result = label_tag "", name, class: "col-sm-3 control-label" 
    result << content_tag(:div, value, class: "col-sm-9")  
end 

,然後在查看呼叫這種方法

= form_row :attribute, @attribute.value