ruby で更新処理が反映されない
rubyで作成されたプログラムについて教えて頂きたく質問させて頂きました。
model.saveで保存がされる値と、保存されない値があり原因がわからずに困っております。
Controllerのstore.to_not_verified.saveでは
verification_statusの値を正常に更新が出来ているのですが
なぜか、
store.to_verified.save
では、値が更新されずに困っております・・・。
store.to_verified.saveの時にも、値は更新はされないのですが
saveでエラー等は出ておりません。
validateにも引っかかっておりません。
rubyは触り始めたばかりで、根本的に何か足りない事があるのかもしれないのですが、原因をご教授頂けませんでしょうか。
何卒、宜しくお願い致します。
Store.rb
# Table name: stores
#
# id :integer not null, primary key
# created_at :datetime not null
# updated_at :datetime not null
# verification_status :integer default(0), not null
# verified_at :datetime
class Store < ActiveRecord::Base
validates :verification_status,
:inclusion => {
:in => [ 0, 1, 2, 3 ],
:allow_nil => true
}
validates :verified_at, :timeliness => { :type => :datetime, :allow_nil => true }
def to_not_verified
self.verified_at = nil
self.verification_status = 2
self
end
def to_verified
self.verified_at = nil
self.verification_status = 1
self
end
end
Controller
def verified
@verification = UserVerification.find(params[:id])
ActiveRecord::Base.transaction do
store = Store.find(1)
store.to_verified.save
# store.to_not_verified.save
end
rescue => e
render action: "show", notice: 'Failed User verification.'
else
redirect_to admin_user_verifications_path, notice: 'User verification was successfully updated.'
end