2011-10-15 28 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