0
出於某種原因@store具有三個屬性對象將不分配所述第三值(產生的令牌字符串)。該模型具有USER_ID,PRODUCT_ID和token_string。但當涉及到token_generate函數什麼都沒有分配,並且在數據庫的token_string列中以無結束。 Product_id and user_id完全保存在數據庫中。但是,這裏發生了什麼?預先感謝您。簡單賦值不會工作
class Store < ActiveRecord::Base
require 'digest/sha1'
attr_accessor :token_string
before_save :token_generate
def save_with_payment
#Until here the object has user_id and product_id attribute values
save!
end
private
def token_generate
self.token_string = Digest::SHA1.hexdigest("random string")
end
end
控制器
def create
@store=Store.new(params[:store])
if @store.save_with_payment
redirect_to :controller=>"products",:action=>"index"
else
redirect_to :action=>"new"
end
end
如果token_string是數據庫中的字段,爲什麼在模型聲明中有attr_writer:token_string?這很可能會覆蓋數據庫訪問器。 – 2012-01-27 03:03:26
當您嘗試保存時,您可以發佈日誌嗎? – 2012-01-27 03:04:28
在日誌顯示中,product_id和user_id值被插入,而token_string字段爲零 – katie 2012-01-27 03:07:00