validates_presence_of和rails上的模板ruby

时间:2010-08-13 23:34:19

标签: ruby-on-rails validation templates

我正在尝试验证一些比率按钮,确保用户选择其中一个。我这样做是通过使用:

validates_presence_of

另外,我有用于页面布局的特定模板。通常,如果没有模板布局,则缺少的任何内容都会由validates_pressense_of帮助程序以红色自动突出显示。但是,使用模板时,我只看到显示的单词,这可能是模板的结果。

是否有某种方法可以解决此问题,并使用模板以红色突出显示缺少的字段?

以下是我用于模板的.css文件的片段:

body{


background:#F4DDB1;


margin:0;
font: 10pt/14pt 'Lucida Grande', Verdana, Helvetica, sans-serif; 
}

A:link{ color:#275A78; text-decoration:none; }
A:hover{ color:#333333; text-decoration:underline; }
A:active{ color:#275A78; text-decoration:none; }
A:active:hover{ color:#333333; text-decoration:underline; }
A:visited{ color:#275A78; text-decoration:none; }
A:visited:hover{ color:#333333; text-decoration:underline; }

#header{
background:url(../images/headerbg.gif) no-repeat #F4DDB1 top left;
width:282px;
height:439px;
margin-right:auto;
/*
 *margin-left:0;
 */
margin-bottom:0;
text-align:right;
float:left;
}

#wrap{
width:782px;
margin-right:auto;
margin-left:auto;

}

#container{
background:#F8EBD2;
width:500px;
/*margin-left:282px; 
margin-top:-452px; */
float:right;
}

#navcontainer{

/*
 * 
 */position:absolute;
   width:282px;

   margin-right:auto;
   margin-top:435px;
   margin-left:60px;

}

#navlist li{
    margin-left:15px;
   list-style-type: none;
   text-align:right;
   padding-right: 20px;
   font-family: 'Lucida Grande', Verdana, Helvetica, sans-serif;
   font-size:12px;
   color:#666666;
}

#navlist li a:link { color: #666666; text-decoration:none; }
#navlist li a:visited { color: #999999; text-decoration:none; }
#navlist li a:hover {color: #7394A0; text-decoration:none; }

h3{
font-size:21px;
font-weight:bold;
color:#8C7364;
}

.content{
padding:10px;
width: 100%
text-align:justify;
font: 9pt/14pt 'Lucida Grande', Verdana, Helvetica, sans-serif;
}

#footer{

  background:transparent;

   height:66px;
   text-align:center;
   font: 8pt/14pt 'Lucida Grande', Verdana, Helvetica, sans-serif;
   color:#333333;
}

#title{
position:absolute;
top:440px; 
left:9px;
padding-left:9px;
font: 14pt/12pt 'Lucida Grande', Verdana, Helvetica, sans-serif;
color:#275A78;
}

代码将在此部分中:

<div class="content">

           <!-- here is your page content -->
                <%= yield :layout %>
           <!-- end page content -->

           </div>

http://www.otoplusvn.com/TherapistSurvey/counselor_questionaries/new

如果您没有点击任何单选按钮,并按提交,则只会看到错误消息,但字段不会突出显示。

任何建议表示赞赏, 谢谢, 德里克

2 个答案:

答案 0 :(得分:0)

Rails的亮点来自于CSS:

.field.field_with_errors

这些类是使用Rails中的以下HAML生成的:

.field
  = f.label :type
  = f.check_box :type

在HTML中:

<% form_for(@plant) do |f| %>
 <%= f.error_messages %>
 <b>Plant Name</b>
 <p>
 <%= f.label :name %><br />
 <%= f.text_field :name %>
..

你的HAML看起来是什么样的,你的一个领域?

答案 1 :(得分:0)

<table  cellpadding ="5" cellspacing="3" width="100%">
        <% for rating_option in [0,1,2,3,4,5,6]  -%>
        <td align ="center">          
               <%= radio_button("counselor_effectiveness", category, @temp[rating_option])%>
        </td>
        <% end -%>
 </table>

我仍然很擅长使用css和ruby on rails。上面的代码用于生成单选按钮。你是说在css中我能通过css控制单选按钮背景的颜色(突出显示)吗?如果是这样,那怎么办?

谢谢, d