2010-08-13 75 views
0

我想驗證一些比例按鈕,確保用戶選擇其中之一。我這樣做是通過使用:validates_presence_of和模板Ruby on Rails

validates_presence_of 

此外,我有具體的模板,我用於頁面的佈局。通常,如果沒有模板佈局,缺少的任何內容都會由validates_pressense_of helper以紅色自動突出顯示。但是,對於模板,我只能看到顯示的單詞,這可能是模板的結果。

有沒有辦法解決這個問題,並且缺少用模板紅色突出顯示的字段?

這裏是.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

如果您不要點擊任何單選按鈕,然後按提交您只能看到錯誤消息,但這些字段不會突出顯示。

任何意見讚賞, 謝謝, 德里克

回答

0

從Rails的亮點來自CSS爲目標:

.field.field_with_errors

在軌以下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看起來像說什麼,你的一個領域?

+0

請看上面的答案。我回答了這個問題,所以你可以看到用於生成單選按鈕的html代碼。這是一段代碼,而不是完整的源代碼。 – darewreck 2010-08-14 22:33:42

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和紅寶石。上面的代碼用於生成單選按鈕。你是說在CSS我可以通過CSS控制單選按鈕的背景顏色(突出顯示)?如果是這樣,那是怎麼做的?

謝謝, D

+0

這對你原來的問題來說是否是一個錯誤?是的,CSS將負責顏色的變化,Rails將負責識別是否有錯誤的邏輯。假設你沒有開始這個項目,在這個應用程序中處理錯誤的方式可能已經改變,或者一起處理不同。是否有其他代碼段的錯誤驗證在其中工作?如果是這樣,粘貼這些,我們會比較。 – Trip 2010-08-15 02:48:31

+0

完成的唯一驗證是通過rails中的ruby模型的validate_presense_of。沒有添加錯誤處理。 如果這段代碼產生了我想突出顯示的單選按鈕,我該如何使用CSS來控制突出顯示的方式?目前,如果您單擊最初發布的問題中的鏈接,當點擊提交按鈕時,您會看到該框未被高亮顯示。如果我刪除模板,您會看到突出顯示的字段。我實際上是從開源獲取css的。 – darewreck 2010-08-15 07:00:30