📅  最后修改于: 2023-12-03 15:35:50.184000             🧑  作者: Mango
在面试过程中,Zoomcar 要求我们写一个简单的 Web 应用,用 Ruby on Rails 框架实现。
在该面试过程中,我需要实现一个简单的 Web 应用,用于展示一些用户信息。该应用需要包含以下功能:
为了实现这些功能,我使用了 Ruby on Rails 框架,使用 Devise 这个 Rails 的常用认证库。在项目的配置文件中,我指定了数据库的名称和密码。 我使用了 PostgresQL 数据库,因为在对基础知识的笔试中,Zoomcar 强调了 PostgresQL 这个数据库。
下面是实现用户注册和登录的代码:
class User < ApplicationRecord
# devise 定义注册和登录相关的方法
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
end
class ApplicationController < ActionController::Base
# 检查用户是否已经登录
before_action :authenticate_user!
end
下面是实现用户列表页和详情页的代码:
class UsersController < ApplicationController
# 列表页
def index
@users = User.all
end
# 详情页
def show
@user = User.find(params[:id])
end
end
下面是实现用户账号信息修改的代码:
class RegistrationsController < Devise::RegistrationsController
# 用户信息修改页
def edit
super
end
# 更新用户信息
def update
super
end
protected
# 修改成功后,重定向到详情页
def after_update_path_for(resource)
user_path(resource)
end
end
在面试结束后,Zoomcar 的面试官分别询问了我关于 Ruby 和 Rails 相关的基础知识和经验,并针对代码进行了详细的讲解,以了解我的编程思路和技能水平。
总之,这次面试是一次非常有意义的经历,我从中收获了许多经验和教训。我感谢 Zoomcar 给我这个机会,并期待未来再次与 Zoomcar 有更多的合作。