Advertisement
Guest User

Untitled

a guest
Nov 16th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. ### app/models/user.erb
  2. ```ruby
  3. class User < ActiveRecord::Base
  4.  
  5. # All of the fields listed here are required
  6. validates_presence_of :email, :avatar_url, :username, :password
  7.  
  8. # All of these fields must be unique (i.e. can't register the same email twice)
  9. validates_uniqueness_of :email, :username
  10.  
  11. end
  12. ```
  13.  
  14. ### app/views/register.erb
  15. ```html
  16. <form method="post" action="/register">
  17.  
  18. <label for="email">Email:</label>
  19. <input type="email" name="email" id="email" required>
  20.  
  21. <br><br>
  22.  
  23. <label for="username">Username:</label>
  24. <input type="text" name="username" id="username" required>
  25.  
  26. <br><br>
  27.  
  28. <label for="avatar_url">Avatar URL:</label>
  29. <input type="url" name="avatar_url" id="avatar_url" required>
  30.  
  31. <br><br>
  32.  
  33. <label for="password">Password:</label>
  34. <input type="password" name="password" id="password" required>
  35.  
  36. <br><br>
  37.  
  38. <input type="submit">
  39.  
  40. </form>
  41. ```
  42.  
  43. ### app/actions.rb
  44. ```ruby
  45. get '/register' do
  46. erb :register
  47. end
  48.  
  49. post '/register' do
  50. # Get the values the user submitted in the form
  51. email = params[:email]
  52. username = params[:username]
  53. avatar_url = params[:avatar_url]
  54. password = params[:password]
  55.  
  56. # Create a new instance of the user class
  57. @user = User.new(email: email, username: username, avatar_url: avatar_url, password: password)
  58.  
  59. # Try saving the user to the database
  60. # Remember that .save automatically runs validations and returns true or false
  61. if @user.save
  62. # Saving worked, so render a success page!
  63. erb :registration_success
  64. else
  65. # Saving did not work, show a failure page
  66. erb :registration_failure
  67. end
  68. end
  69. ```
  70.  
  71. ### app/views/registration_success.erb
  72. ```html
  73. Yay! It worked!
  74. ```
  75.  
  76. ### app/views/registration_failure.erb
  77. ```html
  78. No dice, try again.
  79. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement