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