如何在html属性中使用rails代码?

时间:2013-09-08 16:08:37

标签: html ruby-on-rails erb

例如,我有<ol>个大学,每个<li>我想拥有合适的排名。但是有很多关系,所以它不仅仅是1-100的列表。看我的代码:

<div class="tab-pane" id="rank">
        <h3>National Universities</h3>
        <nav class="list">
            <ol>
                <% @national_university_enrollment.each do |school| %>
                    <li value="<% #{school.rank} %>"><%= link_to "#{school.name}", "/#{school.url}" %></li>
                <% end %>
            </ol>
        </nav>

        <h3>Liberal Arts Colleges</h3>
        <nav class="list">
            <ol>
                <% @liberal_arts_college_enrollment.each do |school| %>
                    <li value="<% #{school.rank} %>"><%= link_to "#{school.name}", "/#{school.url}" %></li>
                <% end %>
            </ol>
        </nav>
        <br />
        <p>ranks according to <%= link_to "US News", "http://colleges.usnews.rankingsandreviews.com/best-colleges" %></p>
    </div>

我的代码给了我一个例外。我怎么能这样做?

编辑:澄清 - 我基本上只是问我如何才能让它工作,这意味着使用有序列表获得正确的排名。修复语法错误使其起作用。

2 个答案:

答案 0 :(得分:2)

我读了两个不同的问题,
首先你有这个语法错误。这是因为它应该是

   <li value="<%= school.rank %>"><%= link_to school.name, '/'+school.url %></li>

第二个是分页或将结果限制为100.
如果您只想限制它,请使用

            <% @national_university_enrollment.limit(100).each do |school| %>
                <li value="<%= school.rank %>"><%= link_to school.name, '/'+school.url %></li>
            <% end %>

如果您想要分页,请使用像will_paginate

这样的宝石

答案 1 :(得分:0)

您有语法错误:

<li value="<%= school.rank %>"><%= link_to school.name, '/'+school.url %></li>

<% @national_university_enrollment.each do |school| %>
                <li value="<%= school.rank %>"><%= link_to school.name, '/'+school.url %></li>
            <% end %>

注意:如果您在school对象中返回html代码,请使用html_safe