Rails高级功能实战:用户创建、评论嵌套资源与会话管理
1. 用户创建问题解决
在尝试创建用户时,可能会遇到 ActiveModel::ForbiddenAttributesError 错误。这是因为在控制器中直接传递了 params ,没有指定可接受的参数,存在安全风险。为了解决这个问题,需要修改 user_params 方法,如下所示:
# app/controllers/users_controller.rb
def user_params
params.require(:user).permit(:email, :password, :password_confirmation)
end
修改后,重新运行服务器并尝试创建用户,此时就可以成功创建新用户,并且如果有用户 ID,还可以编辑该用户信息。不过目前任何人都能创建和编辑用户,后续会对编辑和更新操作进行改进,确保只有用户本人能编辑自己的资料。
2. 嵌套资源 - 评论功能实现
之前在模型层面添加了对评论的支持,但还没有实现评论模型的控制器和视图。评论与文章或用户不同,它依赖于文章存在,不能独立存在,因此将评论定义为文章的嵌套资源。
2.1 路由配置
在 config/routes.rb 文件中更新路由配置,将评论定义为文章的嵌套资源:
Blog::Applic
超级会员免费看
订阅专栏 解锁全文
16

被折叠的 条评论
为什么被折叠?



