2010-06-07 37 views
0

嗨香港專業教育學院得到了帳戶以下型號自定義Rails的驗證(似乎並不奏效)

require 'net/http' 
require 'uri' 
require 'date' 

class Account < ActiveRecord::Base 
validates_presence_of :username, :password, :on => :update 
validate :valid_expiry_date, :on => :update 

def valid_expiry_date 
    reply = Net::HTTP.get URI.parse("http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=getaccountdetails_v1&type=prem&login=" + username + "&password=" + password) 
    account = Time.at(reply[80..90].to_i) 

    if (Time.now + 2419200) <= account 
    return true  
    else 
    return false 
    errors.add_to_base("Sorry this account isnt valid") 
    end 
end 
end 

我知道代碼工作在ruby.rb文件,但將返回true或false,我似乎很難將這些代碼翻譯成實際的驗證,任何幫助都將不勝感激。謝謝:)

它也至少連接到網站,因爲我的防火牆問我終端是否大聲訪問它。

目前,它不僅沒有顯示任何錯誤,而是實際上讓任何東西通過並保存。

回答

2

我不知道它解決您的問題或沒有,但你的「return語句」應該是 線

errors.add_to_base("Sorry this account isnt valid") 

將其更改爲後再次檢查

if (Time.now + 2419200) <= account 
    return true  
    else 
    errors.add_to_base("Sorry this account isnt valid") 
    return false 
    end 
+0

感謝你非常很多,它現在工作完美。 – 2010-06-07 14:00:39