Ruby on rails视图没有混合ruby和html

时间:2011-10-15 09:41:04

标签: ruby-on-rails jsf

我开始学习Rails。我不喜欢的是它使用类似JSP的代码,混合使用html和ruby。我熟悉JSF 2.0并喜欢它的方法。 Rails中有类似的东西吗?

可以在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>

2 个答案:

答案 0 :(得分:2)

HAML是一个很好的选择。 http://haml-lang.com/tutorial.html这可能不是你想要的,但如果你对ERB不满意,我强烈推荐。

答案 1 :(得分: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)

其中有部分我也不喜欢,我错过了偶数/奇数行。但是代码和你的例子一样清晰。如果你更进一步,并为所有的小部分创建部分,我认为它将不会更清晰。