我有三個字段USER_ID模型令牌時,沒有方法的錯誤,PRODUCT_ID和unique_token。在控制器我實例化一個@token對象與user_id說明和的product_id值從form.Then收集我打電話save_with_payment功能與該對象,函數內我要生成隨機字符串的3倍,並保存在unique_token場。問題是self.tokens.create!(unique_token: Digest::SHA1.hexdigest("random string"))
給我都沒法錯誤undefined method tokens
。什麼我在這裏做錯了嗎?澄清你T I要完成,我希望能夠檢索關聯到USER_ID或PRODUCT_ID像User.find(1).tokens
或Product.find(1).tokens
.The模式相伴隨而產生unique_tokens的名單User has_many Tokens
Product has_many Tokens
。 注意:unique_token字段最初來自Token模型,user_id和product_id只是ref主鍵。很感謝!試圖調用函數實例化對象
def create
@token=Token.new(params[:token])
if @token.save_with_payment
redirect_to :controller => "products", :action => "index"
else
redirect_to :action => "new"
end
end
class Token < ActiveRecord::Base
require 'digest/sha1'
def save_with_payment
# if valid?
# customer = Stripe::Charge.create(amount:buck,:currency => "usd",card:stripe_card_token,:description => "Charge for bucks")
#self.stripe_customer_token = customer.id
3.times do
self.tokens.create!(unique_token: Digest::SHA1.hexdigest("random string"))
end
save!
end
end
這似乎是有益的,但它的代碼我以前那種intefere,如果你看一下上面我已經加入註釋掉的代碼,我不覺得有必要提前加,所以現在說未定義方法是否有效?。buck和stripe_card_token的值也來自表單(Token.new(params [; token]))。現在如何改變它? – katie 2012-01-27 23:20:22