У меня есть такая модель пользователя:
class User < ActiveRecord::Base
validates :password, :presence => true,
:confirmation => true,
:length => { :within => 6..40 }
.
.
.
end
В модели User у меня есть столбец 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
в модели User, @thisuser.save
не сохраняется. Однако, как только я закомментирую проверку, @thisuser.save
вернет true. Для меня это незнакомая территория, потому что я думал, что эта проверка работала только при создании нового пользователя. Может кто-нибудь сказать мне, если validates :password
должен пнуть каждый раз, когда я пытаюсь сохранить в пользовательской модели? Спасибо