Users 资源
config/routes.rb
1 | Rails.application.routes.draw do |

Users Resources
Gravatar 头像和侧边栏
app/views/users/show.html.erb
1 | <% provide(:title, @user.name) %> |
app/assets/stylesheets/custom.scss
1 | /* sidebar */ |
app/helpers/users_helper.rb
1 | module UsersHelper |
用户注册表单
app/views/users/new.html.erb
1 | <% provide(:title, 'Sign up') %> |
app/assets/stylesheets/custom.scss
1 | /* forms */ |
注意,在上面的代码中,渲染的局部视图名为 ‘shared/error_messages’,这里用到了 Rails 的一个约定:如 果局部视图要在多个控制器中使用(10.1.1 节),则把它存放在专门的 shared/ 目录中。
app/views/shared/_error_messages.html.erb
1 | <% if @user.errors.any? %> |
1 | /* forms */ |
1 | class UsersController < ApplicationController . |
闪现消息
app/controllers/users_controller.rb
1 | class UsersController < ApplicationController . |
app/views/layouts/application.html.erb
1 |
|
专业部署方案
在生产环境中使用 SSL
config/environments/production.rb
1 | Rails.application.configure do . |
生产环境中的 Web 服务器
config/puma.rb
1 | # Puma configuration file. |
最后,我们要新建一个 Procfile 文件,告诉 Heroku 在生产环境运行一个 Puma 进程。这个文件的内容如代 码清单 7.36 所示。Procfile 文件和 Gemfile 文件一样,应该放在应用的根目录中。
./Procfile
1 | web: bundle exec puma -C config/puma.rb |
配置生产数据库
config/database.yml
1 | default: |