我有一個用戶模式是這樣的:的Rails void驗證防止保存
class User < ActiveRecord::Base
validates :password, :presence => true,
:confirmation => true,
:length => { :within => 6..40 }
.
.
.
end
用戶模型中,我有一個BILLING_ID專欄中,我要保存到從OrdersController它看起來像這樣:
class OrdersController < ApplicationController
.
.
.
def create
@order = Order.new(params[:order])
if @order.save
if @order.purchase
response = GATEWAY.store(credit_card, options)
result = response.params['billingid']
@thisuser = User.find(current_user)
@thisuser.billing_id = result
if @thisuser.save
redirect_to(root_url), :notice => 'billing id saved')
else
redirect_to(root_url), :notice => @thisuser.errors)
end
end
end
end
由於用戶模型中的validates :password
,@thisuser.save
未保存。但是,一旦我評論驗證,@thisuser.save
返回true。對我來說這是一個陌生的領域,因爲我認爲這個驗證只在創建一個新用戶時才起作用。有人可以告訴我,如果validates :password
每次嘗試保存在用戶模型中都應該啓動嗎?謝謝
太棒了。謝謝塔德曼。我非常感謝 – railslearner 2011-04-08 20:33:30