Créer DB, ajouter du contenu, enregistrer, supprimer avec la console de rails.
$ rails g model User name:string email:string
id | name(string) | email(string) |
---|---|---|
1 | alice | [email protected] |
2 | tom | [email protected] |
$ rails db:migrate
$ rails console
> user = User.new(name:"alice", email:"[email protected]")
> user.save
> user = User.all
> user[0]
> user = User.all
> user0 = user[0]
> user[0].name = "alice_alice"
> user[0].save
> user[0].destroy
La validation est un mécanisme permettant de vérifier si les données sont correctes avant que l'objet ne soit enregistré dans la base de données.
class User < ApplicationRecord
validates :email, {uniqueness: true}
end
class Post < ApplicationRecord
validates :content, {presence: true, length: {maximum: 140}}
end
id | name(string) | email(string) |
---|---|---|
1 | alice | [email protected] |
2 | tom | [email protected] |
Ajoutez des informations d'image utilisateur à cela!
$ rails g migration add_image_name_to_users
Le fichier est ajouté au dossier de migration / db / migration /
.
Contenu de / db / migration / 20201010_create_post.rb
La méthode de changement a été automatiquement générée dans le fichier de migration créé par rails g model
.
J'ai donc pu refléter les changements avec rails db: migrate
sans aucun changement particulier.
class CreateUsers < ActiveRecord::Migration[5.0]
def change
create_table :users do |t| #Créer une table nommée posts
t.string :name #Créer une colonne nommée nom dont les données sont une chaîne
t.string :email #Créez une colonne nommée email avec une chaîne de données
t.timestamps
end
end
end
Cette fois, nous allons ajouter une colonne, nous devons donc écrire le contenu de la méthode de changement par nous-mêmes.
class AddImageNameToUsers < ActiveRecord::Migration[5.0]
def change
add_column :uses, :image_name, :string #Nom de table, nom de colonne, type de données
end
end
Exécuter le contenu de la méthode de changement
$ rails db:migrate
Utilisez File.write
.
$ rails console
> File.write("public/aaa.txt", "Hello World")
# File.write(Où écrire,Contenu)
Utilisez les méthodes File.bin write
et read
.
Écrivez la lecture ʻimage dans
public / user_images / "1.jpg " ʻet enregistrez-la.
if image = params[:image]
@user.image_name = "#{@user.id}.jpg "
File.binwrite("public/user_images/#{@user.image_name}", image.read)
end
Recommended Posts