Advertisement
Guest User

Untitled

a guest
May 31st, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 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. <% if @user.present? && @user.errors.present? %>
  17. Error! The following errors prevented saving:
  18. <ul>
  19. <% @user.errors.full_messages.each do |error| %>
  20. <li><%= error %></li>
  21. <% end %>
  22. </ul>
  23. <% end %>
  24.  
  25. <form method="post">
  26.  
  27. <label for="email">Email:</label>
  28. <input type="email" name="email" id="email" required>
  29.  
  30. <br><br>
  31.  
  32. <label for="username">Username:</label>
  33. <input type="text" name="username" id="username" required>
  34.  
  35. <br><br>
  36.  
  37. <label for="avatar_url">Avatar URL:</label>
  38. <input type="url" name="avatar_url" id="avatar_url" required>
  39.  
  40. <br><br>
  41.  
  42. <label for="password">Password:</label>
  43. <input type="password" name="password" id="password" required>
  44.  
  45. <br><br>
  46.  
  47. <input type="submit">
  48.  
  49. </form>
  50. ```
  51.  
  52. ### app/actions.rb
  53. ```ruby
  54. get '/register' do
  55. erb :register
  56. end
  57.  
  58. post '/register' do
  59. # Get the values the user submitted in the form
  60. email = params[:email]
  61. username = params[:username]
  62. avatar_url = params[:avatar_url]
  63. password = params[:password]
  64.  
  65. # Create a new instance of the user class
  66. @user = User.new(email: email, username: username, avatar_url: avatar_url, password: password)
  67.  
  68. # Try saving the user to the database
  69. # Remember that .save automatically runs validations and returns true or false
  70. if @user.save
  71. # Saving worked, so render a success page!
  72. erb :registration_complete
  73. else
  74. # Saving did not work, show registration form again with errors
  75. erb :register
  76. end
  77. end
  78. ```
  79.  
  80. ### app/views/registration_complete.erb
  81. ```html
  82. <p>
  83. Hey there <%= @user.username %>,
  84. </p>
  85. <p>
  86. Thanks for registering, you're all set! Enjoy the fins.
  87. </p>
  88. ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement