Guest User

Untitled

a guest
May 23rd, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. # Meu controlador
  2.  
  3. class HostingController < ApplicationController
  4.  
  5. def index
  6. end
  7.  
  8. def step_one
  9. @customer = Customer.new
  10. end
  11.  
  12.  
  13. def save_step_one
  14. if request.post?
  15.  
  16. unless params[:domain].blank?
  17. @msg = Customer.check_domain(params[:domain])
  18. session[:domain] = params[:domain]
  19. end
  20. else
  21. redirect_to :action => "step_one"
  22. end
  23.  
  24. end
  25.  
  26.  
  27. def step_two
  28. session[:customer] = @customer
  29. end
  30.  
  31. def save_step_two
  32. @customer = Customer.new(params[:customer])
  33. if @customer.save
  34. render :action => "index"
  35. else
  36. render :action => "step_two"
  37. end
  38. end
  39.  
  40. end
  41.  
  42. #Modelo de dados
  43.  
  44. class Customer < ActiveRecord::Base
  45. require 'universal_ruby_whois'
  46. require 'brazilian-rails'
  47.  
  48. validates_presence_of :cnpj, :name, :state, :province, :city
  49. usar_como_cnpj :cnpj
  50.  
  51. def self.check_domain(domain)
  52. @t = Whois.find(domain)
  53. if @t.nil? || @t.blank?
  54. @message = "Dominio invalido"
  55. elsif @t.available? == false
  56. @message = "Dominio ja registrado"
  57. else
  58. @message = "Dominio liberado" if @t.available? == true
  59. end
  60. @message
  61. end
  62.  
  63. end
  64.  
  65. #Minha view já integrada ao layout padrão
  66.  
  67. <% form_tag('javascript:void(0)') do %>
  68. <label for="domain">Dom&iacute;nio: </label><%= text_field_tag 'domain' %>
  69. <% end %>
  70.  
  71. <%= observe_field :domain,
  72. :frequency => 3,
  73. :loading => "Element.show('spinner')",
  74. :complete => "Element.hide('spinner')",
  75. :url => { :action => 'save_step_one', :only_path => false},
  76. :with => "'domain=' + encodeURIComponent(value)"
  77. %>
  78. <%= image_tag 'ajax-loader.gif', :id => 'spinner', :style => "display:none" %>
  79. <div id="results"></div>
  80.  
  81.  
  82.  
  83. #save_step_one.rjs -> ajax
  84.  
  85. page.replace_html 'results', :partial => "domain" unless @msg == "Dominio invalido"
  86. page.replace_html 'results', "Informe um dom&iacute;nio v&aacute;lido" if params[:domain].blank? || @msg == "Dominio invalido"
Add Comment
Please, Sign In to add comment