1

コードを haml から erb に変換しようとしましたが、行き詰まってしまい、その理由がわかりません。

変換したい元のコードは次のとおりです: https://github.com/gmarik/simple-backend-example/blob/master/app/views/backend/resource/_index.html.haml

そして、これが私が今持っているものです。誰かがそれを見て、ヒントをくれませんか。ありがとう。

私はこの行を最も疑っています: %tr[resource]{odd_or_even}

私はそれが次のようになるかもしれないと思います: <tr> <% @resource{odd_or_even} %>

RubyMine は次の行でエラーを出しました: <%= paginate collection %>

    <% content_for(:header) do %>
      <h1><%= resource_class.model_name.human(count: 2) %></h1>

    <ul class="tabs">
       <li class="active"><%= link_to "Index", "#" %></li>
       <li><%= link_to "New", new_resource_path %> </li>
    </ul>
    <table class='zebra-striped'>
      <thead>
        <tr>
          <% attributes.each do |attr| %>
            <th> <%= resource_class.human_attribute_name(attr) %></th>
          <th> &nbsp;</th>
        </tr>
      </thead>
      <tbody>
        <% collection.each do |resource| %>
          <tr> <% @resource{odd_or_even} %>
            <% attributes.each do |attr| %>

            <td> <%= resource.public_send(attr).to_s.truncate(20) %> </td>        
            <td class='row-actions'>
              <%= link_to 'show', resource_path(resource) %>
              |
              <%= link_to 'edit', edit_resource_path(resource) %>
              |
              <%= link_to 'destroy', resource_path(resource), method: :delete, confirm: "Are you sure?" %>
            </td>
        <% end %> 
      </tbody> 
    </table>  
    <%= paginate collection %>
4

1 に答える 1

1

ここのドキュメントを見る:http://haml.info/docs/yardoc/file.REFERENCE.html#object_reference_

私はそれだと思います:

<tr id="<%= "#{resource.class.name.underscore}_#{resource.to_key}" %>" class="<%= resource.class.name.underscore %>">

これは翻訳すること%tr[resource]です。

これで、{odd_or_even}はヘルパーの結果ハッシュを変換してodd_or_even、 の属性としてマップしますtr

ここでメソッドの定義を見ると: https://github.com/gmarik/simple-backend-example/blob/master/app/helpers/backend/application_helper.rb

cycle追加のクラスを設定するための単なる呼び出しであることがわかります。したがって、最終的には次のようになります。

<tr id="<%= "#{resource.class.name.underscore}_#{resource.to_key}" %>" class="<%= "#{resource.class.name.underscore} #{cycle("odd", "even", name: "rows")}" %>">

さて、これだけでは の問題は解決しませんpaginate。それでも問題が解決しない場合は、エラー メッセージを追加してください。

于 2012-11-11T02:25:33.907 に答える