2011-10-15 55 views
0

我開始學習Rails。我不喜歡的是它使用類似JSP的代碼,混合了html和ruby。我熟悉JSF 2.0並且喜歡它的方法。 Rails中有類似的東西嗎?Ruby on rails的視圖沒有混合紅寶石和html

一個很好的例子有可能在http://www.mkyong.com/jsf2/jsf-2-datatable-example/

<h:dataTable value="#{order.orderList}" var="o" 
    styleClass="order-table" 
    headerClass="order-table-header" 
    rowClasses="order-table-odd-row,order-table-even-row" > 

    <h:column> 
     <!-- column header --> 
     <f:facet name="header">Order No</f:facet> 
     <!-- row record --> 
     #{o.orderNo} 
    </h:column> 

    <h:column> 
     <f:facet name="header">Product Name</f:facet> 
     #{o.productName} 
    </h:column> 

    <h:column> 
     <f:facet name="header">Price</f:facet> 
     #{o.price} 
    </h:column> 

    <h:column> 
     <f:facet name="header">Quantity</f:facet> 
     #{o.qty} 
    </h:column> 

</h:dataTable> 
+0

但這是Web框架的工作方式。你有沒有想要達到的例子?在某種程度上,您必須將您的計算集成到HTML模板中......正確的做法是,通過部分和正確的劃分,代碼非常易讀。你能解釋比較Rails中的赤字是什麼嗎?例如,[JSF中的Hello World](http://www.mkyong.com/jsf2/jsf-2-0-hello-world-example/)? – mliebelt

+0

最好看一下這個例子:http://www.mkyong.com/jsf2/jsf-2-datatable-example/在Rails中,我將使用循環編寫所有這些​​和。或者還有其他選擇? – damluar

+1

真的沒有類似的選擇,Rails的確不是將視圖邏輯封裝到標籤中。明智地使用幫助者和偏見,你可以走很長的路。 –

回答

1

我採取了這個例子,並試圖想出合理的Rails代碼來比較。在那之後,我想看看它們的不同:

首先HAML例如

%table.order-table 
    %thead 
    %tr 
     - ["Order No", "Product Name", "Price", "Quantity"].each do |h| 
     %th.order-table-header 
      h 
    %tbody 
    - order.orderList.each do |o| 
     %tr 
     [#orderNo, #productName, #price, #qty].each do |s| 
      %td= o.send(s) 

湖中有部分我也不喜歡,我很想念奇/偶行的事。但是代碼和你的例子一樣清晰。如果你更進一步,爲所有的小部分創造偏見,我認爲它不會變得更清晰。

+0

感謝您花時間! – damluar