2012-05-27 39 views
2

我是新的rails 3.我使用引導,我想顯示無效字段旁邊的驗證錯誤。Rails 3內聯錯誤

這裏是代碼

<div class="control-group <%= @pet.errors.has_key?(:nick) ? "error": "" %>"> 
     <%= f.label :nick, :class => 'control-label' %> 
     <div class="controls"> 
      <%= f.text_field :nick, :class => 'text_field' %> 
      <% unless [email protected]_key?(:nick)%> 
      <span class="help-inline"><%= @pet.errors[:nick]%></span> 
      <%end%> 
     </div> 
    </div> 

我的問題是,<%= @pet.errors[:nick]%>回報

["no puede estar en blanco"] 

而且必須是公正

no puede estar en blanco 

在這裏你有一個形象

http://img848.imageshack.us/img848/8263/inlineerror.jpg

是否有任何方法我可以得到沒有方括號和引號的錯誤信息?

在此先感謝

+0

字段錯誤是一個集合,而不是單個錯誤 - 每個字段可能有多個錯誤。 –

+0

非常感謝。現在我明白了;) –

+0

'如果條件'可能比'條件'更容易理解' –

回答

5

你可以嘗試:

<span class="help-inline"><%= @pet.errors[:nick].join(", ")%></span> 
+0

謝謝!我的問題解決了。 –

+0

或'f.object.errors [:nick] .join(「,」)'如果您使用'form_for'並希望更通用。 –

2

的方括號串繞表明,它是一個數組。您也可以通過書寫去除括號和引號

<%= @pet.errors[:nick][0]%> 
+0

這適用於Rails 4.0.2。 – Deborah