DB erstellen, Inhalte hinzufügen, speichern, mit Rails-Konsole löschen.
$ 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
Die Validierung ist ein Mechanismus, mit dem überprüft wird, ob die Daten korrekt sind, bevor das Objekt in der Datenbank gespeichert wird.
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] |
Fügen Sie dazu Benutzerbildinformationen hinzu!
$ rails g migration add_image_name_to_users
Die Datei wird dem Migrationsordner "/ db / migration /" hinzugefügt.
Inhalt von / db / migration / 20201010_create_post.rb
Die Änderungsmethode wurde automatisch in der Migrationsdatei generiert, die von "Rails G Model" erstellt wurde.
So konnte ich die Änderungen mit Rails db: migrate
ohne besondere Änderungen widerspiegeln.
class CreateUsers < ActiveRecord::Migration[5.0]
def change
create_table :users do |t| #Erstellen Sie eine Tabelle mit dem Namen posts
t.string :name #Erstellen Sie eine Spalte mit dem Namen name, deren Daten Zeichenfolge sind
t.string :email #Erstellen Sie eine Spalte mit dem Namen E-Mail mit Datenzeichenfolge
t.timestamps
end
end
end
Dieses Mal werden wir eine Spalte hinzufügen, daher müssen wir den Inhalt der Änderungsmethode selbst schreiben.
class AddImageNameToUsers < ActiveRecord::Migration[5.0]
def change
add_column :uses, :image_name, :string #Tabellenname, Spaltenname, Datentyp
end
end
Führen Sie den Inhalt der Änderungsmethode aus
$ rails db:migrate
Verwenden Sie "File.write".
$ rails console
> File.write("public/aaa.txt", "Hello World")
# File.write(Wo man schreibt,Inhalt)
Verwenden Sie die Methoden "File.bin write" und "read". Schreiben Sie das geladene Bild in public / user_images / "1.jpg " und speichern Sie es.
if image = params[:image]
@user.image_name = "#{@user.id}.jpg "
File.binwrite("public/user_images/#{@user.image_name}", image.read)
end