📜  Ruby on Rails将记录保存到数据库

📅  最后修改于: 2021-01-12 02:54:32             🧑  作者: Mango

Rails将记录保存到数据库

我们可以使用Ruby on Rails将数据保存到数据库中。让我们看一个将表单数据保存到数据库中的示例。

步骤1创建一个新的Rails应用程序。

rails new saverecord

步骤2更改目录以登录。

cd saverecord

步骤3从控制台创建支架。

rails generate scaffold User name:string password:digest

步骤4迁移数据库。

rake db:migrate

步骤5转到Gemfile并取消注释以下行。

gem 'bcrypt'

步骤6运行以下命令:

bundle install

步骤7转到app / controllers / users_controller.rb并在create方法中编写以下代码。

def create 
    @user = User.new(user_params) 

    respond_to do |format| 
      if @user.save 
        format.html { redirect_to users_url, notice: 'User was successfully created.' } 
        format.json { render :show, status: :created, location: @user } 
      else 
        format.html { render :new } 
        format.json { render json: @user.errors, status: :unprocessable_entity } 
      end 
    end 
  end

步骤8转到app / views / users / index.html.erb文件。

Listing Users

<% if notice %>

<%= notice %>

<%= link_to 'New User', new_user_path %>

步骤9转到app / views / users / new.html.erb文件。

New User

<%= render 'form', user: @user %> <%= link_to 'Back', users_path %>

步骤10转到app / views / users / _form.html.erb文件。

<%= form_for(user) do |f| %> 
  <% if user.errors.any? %> 
    

<%= pluralize(user.errors.count, "error") %> prohibited this user from being saved:

    <% user.errors.full_messages.each do |message| %>
  • <%= message %>
  • <% end %>
<% end %>
<%= f.label :name %> <%= f.text_field :name %>
<%= f.label :password %> <%= f.password_field :password %>
<%= f.label :password_confirmation %> <%= f.password_field :password_confirmation %>
<%= f.submit %>
<% end %>

步骤11启动Rails服务器。

rails s

步骤12在本地主机上运行它。

http://localhost:3000/users

单击“新建用途”以添加新用户。

单击创建使用以添加新用户。

下载