用html.erb添加样式的具体方法?

时间:2011-08-11 09:45:49

标签: html ruby-on-rails css ruby dynamic

已经更新了css和html作为答案,但遗憾的是样式信息仍未传递给td。该类被定义为限制但没有样式。


对某些非常基本的东西有些麻烦。

HTML              

     <%= stylesheet_link_tag "test.css" %>
</head>
<body>

    <table class="results">
        <% @result.each do |object|%>
        <tr>
            <td class="limit"> <%= object%> </td>
        </tr>

        <%end%>
    </table>

</body>

CSS
table.results
{
    width: 100%;
    border: .2em ridge #000000;
}
td.limit
{
    width:50%;
    background-color: #fff000;
    border: .2em ridge #0f0f0f;
}

在结果输出中。在ruby循环之外定义其类的表的所有样式属性都包含在内。

然而,ruby for.each循环中的TD没有。是否有一些特定的方法将类添加到Ruby中的HTML元素?


按要求输出html表

<!DOCTYPE html>
<html>
<head>
  <title>Crawler</title>
  <link href="/stylesheets/globalStyleSheet.css?1312383253" media="screen" rel="stylesheet" type="text/css" />
<link href="/stylesheets/jquery.inputlimiter.1.0.css?1312464674" media="screen" rel="stylesheet" type="text/css" />
<link href="/stylesheets/test.css?1313055311" media="screen" rel="stylesheet" type="text/css" />
  <script src="/javascripts/prototype.js" type="text/javascript"></script>
<script src="/javascripts/effects.js" type="text/javascript"></script>
<script src="/javascripts/dragdrop.js" type="text/javascript"></script>

<script src="/javascripts/controls.js" type="text/javascript"></script>
<script src="/javascripts/rails.js" type="text/javascript"></script>
  <meta name="csrf-param" content="authenticity_token"/>
<meta name="csrf-token" content="fQ/oa3q+Aq68GZenV26YuwPjDgbijTeuO3VJihtYHI8="/>
</head>
<body>

<html>
    <head>

         <link href="/stylesheets/test.css?1313055311" media="screen" rel="stylesheet" type="text/css" />
    </head>

    <body>

        <table class="results">
            <tr id="test-tr">
                <td class="limit"> blag blah </td>
            </tr>

            <tr >
                <td class="limit"> testing 45 </td>

            </tr>

            <tr >
                <td class="limit"> testing</td>
            </tr>

        </table>

    </body>
</html>


</body>
</html>

2 个答案:

答案 0 :(得分:1)

background-color的CSS中的td属性后面缺少分号。那将会淘汰background-colorborder属性。

您可能希望利用W3C CSS Validation Service进行CSS的基本健全性检查。在你的情况下,它说:

  

td.limit值错误:background-color尝试在属性名称前查找分号。添加它

......我承认,这有点神秘,但至少是指向你问题的合理指针。

答案 1 :(得分:0)

根本不是Ruby或Rails。

class="limit"

之间有额外的空格
<td class ="limit"> <%= object%> </td>
#=> should be
<td class="limit"><%= object %></td>