3.2. User Creation Form

First off, you'll edit the Rails-provided resource code to display the users as needed. To get the new user views to display in the same layout that you put together in Chapter 1, you need to add the following line to the top of the UserController in app/controllers/user_controller.rb:

layout "recipes"

This will ensure that the UserController looks to the recipes.html.erb layout file when generating HTML output for its actions, and keeps you from having to maintain multiple layout files.

There are a couple of somewhat quibbly things you should do. For instance, the listing from the index page contains all data for each user, including the encrypted password and salt. The security team probably won't be too happy about that, so go into the view file and remove those lines from the table header and the display loop, so that only the username, first and last names, and email are being displayed. The changed /app/views/users/index.html.erb file should look like this:

<% @title = "Users" %> <table> <tr> <th>Username</th> <th>Firstname</th> <th>Lastname</th> <th>Email</th> </tr> <% for user in @users %> <tr> <td><%=h user.username %></td> <td><%=h user.first_name %></td> <td><%=h user.last_name %></td> <td><%=h user.email %></td> <td><%= link_to 'Show', user %></td> <td><%= link_to 'Edit', edit_user_path(user) %></td> <td><%= link_to 'Destroy', user, :confirm => 'Are you sure?', :method => :delete %></td> </tr> <% end %> </table> <br /> <%= link_to 'New user', ...

Get Professional Ruby on Rails™ now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.