Проверка пользовательских Rails (похоже, не работает) - PullRequest
0 голосов
/ 07 июня 2010

Эй, ребята, у меня есть следующая модель для счетов

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, однако мне кажется, что мне довольно трудно пытаться перевести этот код в реальную проверку, любая помощь будет высоко оценена. Спасибо:)

Это также вызывающе, по крайней мере, подключение к веб-сайту, так как мой брандмауэр спросил меня, был ли терминал громким для доступа к нему.

В настоящее время он не только не отображает никаких ошибок, но и пропускает что-то и сохраняет его.

1 Ответ

2 голосов
/ 07 июня 2010

Я не знаю, решило ли это вашу проблему или нет, но ваше 'заявление о возврате' должно быть после строки

   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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...