开发者

Custom Rails Validation (Doesn't seem to be working)

Hey guys ive got the following Model for Accounts

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

I know the code works in a ruby.rb file and will return true or false, however I seem to be having rather a lot of difficultly trying to translate this code into an actual validation, any help would be much appreciated. Thanks :)

Its also defiantly at least connecting to the website as my开发者_开发问答 firewall asked me if the Terminal was aloud to access it.

At the moment not only is it displaying no errors its actually letting anything through and saving it.


I don't know it solved your problem or not but your 'return statement' should be after the line

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

Change it to and check again

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜