2011-04-28 37 views
2

我检查Rails:未强制验证,手动调用?

validates :group_id, :presence => true 
在我的模型 “项目”

。然而,当我创建一个没有group_id的项目时,我没有收到验证错误。如果我尝试做

p = Project(:name => "Test") 
p.save 

rails控制台返回false,并保存!它告诉我group_id失败的验证。所以验证以某种方式在保存方法上执行,但它在我的应用程序中不是默认的。我必须做一个手册

if @project.save == true 
... 
end 

或在我的控制器?

谢谢 乙

回答

3

您可以检查@ project.valid?保存之前。

def signup 
    if request.post? 
     @user_data = UserData.new(:login => params[:user], :password => params[:password]) 
     if @user_data.valid? 
     if @user_data.save 
      session[:cuser] = UserData.authenticate(@user_data.login, @user_data.password).login 
      redirect_to(:controller=> 'sync', :action=> 'all') 
      return 
     end 
     else 
     @error_on_signup = true 
     end 
    end 
+0

啊哈!谢谢你的提示。它现在工作:-)我搞乱了控制器创建方法。 – MrB 2011-04-28 08:33:18