08. rails 创建user控制器-用户添加

创建控制器

如果创始的数据模型是对应一张表,那么要使用复数的形式

例如给users表创建一个控制器

rails g controller users

路由

config/routes.rb里添加 resources :users

Rails.application.routes.draw do
  get 'welcome/index' #添加路由
  resources :users
  resources :sessions
  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end

查看所有的路由

resources :users为我们创建了七条路由

控制器

app/controllers/users_controller.rb

class UsersController < ApplicationController

  # 注册表单页面
  def new
    @user = User.new #声明一个user实例变量,这样可以和v层的模板里进行数据传递
  end

  # 创建数据到页面
  def create
    @uesr = User.new(params.require(:user).permit(:username, :password))
    if @user.save #保存数据,如果成功了走下面的方法
      flash[:notice] = "注册成功,请登陆" #临时创建了一个notice变量,作为控制器和模板之前的数据传递
      redirect_to new_session_path #跳转到new_session_path页面
    else
      render action: :new #如果失败了,再跳转到new的注册表单页面
    end
  end
end

页面

表单页面

公用页面

new页面

posted @   HaimaBlog  阅读(114)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2019-01-10 Vue2.0--14.小白入门教程--实例化多个vue对象,可初始化操作几种方法
2019-01-10 37.VUE学习之-表单的综合运用
点击右上角即可分享
微信分享提示