2010-03-05 23 views

回答

1

的AR#validate方法填充模型的誤差散驗證錯誤。
如果在實例化模型和調用f.error_messages之間沒有調用驗證(通過AR#save或直接),@errors散列永遠不會被填充,並且錯誤從不顯示)。
此外請確保您不重定向(驗證的對象會丟失,並且創建新的對象並且沒有「已填充」的@errors散列),但請致電

1

你是否在尋找error_messages_for:模型?

驗證後,該功能將建立自己的錯誤消息的列表視圖。

例如:

# users_controller.rb

def create 
    @user = User.new(params[:user]) 
    if @user.save 
    redirect_to @user 
    else 
    render :action => 'new' 
    end 
end 

# view/users/new.html.erb

<%= error_messages_for :user %> 

<% form_for @user do |f| %> 
    ... 
<% end %>