(Ruby on Rails6) Anzeige der Datenbank, die die ID der Datenbank erhalten hat

Maschinenspezifikationen

· Version 10.15.3 ・ Ruby Ruby 2.6.3p62 ・ Schienen 6.0.3.2

Vorwort

Die oben genannten haben aufgezeichnet, wie die Datenbank in der Ansicht angezeigt wird. Wenn Sie jedoch mit Ruby on Rails arbeiten möchten, möchten Sie die ID-Erfassung </ strong> durchführen! Hier wird die Datenbankanzeige nach ID als Vergessenheitsdatensatz aufgezeichnet. Ich hoffe es hilft dir.

Anzeige der Datenbank, für die die ID der Datenbank erfasst wurde

Bitte beachten Sie, dass Sie für zukünftige Arbeiten eine Datenbank erstellen müssen. Weitere Informationen → Zu den oben genannten

Legen Sie ID-Routen fest

Bild von Routen Wenn Sie wie ↓ "posten / registrieren", möchten Sie "Meine Seite / Detailseite" entsprechend der Anzahl der IDs erstellen. 1 bis 4 sind IDs.

config/routes


Rails.application.routes.draw do
  get 'Controller-Name/index'
  get 'Controller-Name/1' => 'Controller-Name#Aktionsname'
  get 'Controller-Name/2' => 'Controller-Name#Aktionsname'
  get 'Controller-Name/3' => 'Controller-Name#Aktionsname'
  get 'Controller-Name/4' => 'Controller-Name#Aktionsname'
end

Wenn es so bleibt, wie es ist, werden Routen in großer Zahl beschrieben. Beschreiben Sie es daher als ↓.

config/routes


Rails.application.routes.draw do
  get 'Controller-Name/:id' => 'Controller-Name#Aktionsname'
end

↓ Beispiel

config/routes


Rails.application.routes.draw do
  get 'posts/:id' => 'posts#index'
end

Ich habe die Teile 1 bis 4 durch : id </ strong> ersetzt.

Achtung auf Strecken!

Wenn es auf Routen wie ↓ aussieht, tritt ein Fehler auf.

(Error)

config/routes


Rails.application.routes.draw do
  get 'Controller-Name/:id' => 'Controller-Name#Aktionsname'← Zuerst beschrieben
  get "/" => "forms#index"
end

Wenn Sie die : id </ strong> -Route von get'posts /: id '=' posts # index '</ strong> vor der normalen Route schreiben, tritt ein Fehler auf. Schreiben Sie also als ↓.

(Erfolg)

config/routes


Rails.application.routes.draw do
  get "/" => "forms#index"
  get 'Controller-Name/:id' => 'Controller-Name#Aktionsname'← Später beschrieben
end

↓ Beispiel

config/routes


Rails.application.routes.draw do
  get "/" => "forms#index"
  get 'posts/:id' => 'posts#index'← Später beschrieben
end

Beschreibung zur Steuerung

Der Controller ist mit den anfänglichen Einstellungen an diesem Punkt in Ordnung.

app/controllers/Irgendein_controller


class PostsController < ApplicationController
def Aktionsname
  end
end

Beispiel ↓

app/controllers/Irgendein_controller


class PostsController < ApplicationController
  def index
  end
end

ID von URL abrufen

Verwenden Sie zum Abrufen der ID params [: id] </ strong> für die Controller-Aktion. params </ strong> ist die Methode, die den Wert erhält.

app/controllers/Irgendein_controller


class PostsController < ApplicationController
def Aktionsname
    @id = params[:id]
  end
end

Vergessen Sie nicht, @id zu verwenden, da der Controller @ haben muss.

Beispiel ↓

app/controllers/Irgendein_controller


class PostsController < ApplicationController
  def index
    @id = params[:id]
  end
end

In Ansicht anzeigen

erb:app/views/Irgendein/index.html.erb


<h1>Title</h1>
<p>smple text</p>
<%= "id ist "#{@id}Ist der Bildschirm" %>

Lassen Sie uns hier einmal mit dem Browser überprüfen

Befehl


rails s

(URL) http://localhost:3000/posts/1

rails-post_test.png

Es wurde angezeigt. Der Inhalt der Charaktere unterscheidet sich zwischen dem Bild und Qiita, aber keine Sorge.

erb:app/views/Irgendein/index.html.erb


<%= "id ist "#{@id}Ist der Bildschirm" %>

Die ID wird in # {@id} </ strong> von gelesen Da es sich um <% = ~~%> </ strong> handelt, wird es in der Ansicht angezeigt.

Bisher haben wir die URL und ID festgelegt. Von hier aus erhalten wir die Daten, die der ID entsprechen.

Daten abrufen, die der ID entsprechen

Einstellungen zum Controller

Zur Ausgabe der ID gleich </ strong>

Verwenden Sie find_by und params [: id] </ strong>.

app/controllers/Irgendein_controller


class PostsController < ApplicationController
def Aktionsname
    @Tabellenname=Name der Datenbank.find_by(id: params[:id])
  end
end

↓ Beispiel

app/controllers/Irgendein_controller


class PostsController < ApplicationController
  def index
    @post = Post.find_by(id: params[:id])
  end
end

Glossar

find_by </ strong> erhält einen Wert, dessen ID-Spaltenwert gleich "params [: id]" ist. Ebenfalls params [: id] </ strong> kann ein Objekt enthalten, das die vom Browser an die Rails-Anwendung gesendeten Daten enthält.

Einstellungen für Ansichten

Stellen Sie abschließend die Ansichten ein. Hier zeigen wir den veröffentlichten Inhalt und die veröffentlichte Zeit an.

erb:app/views/Irgendein/index.html.erb


<h1>Title</h1>
<p>sample text</p>
    <%= @post.content %>
    <%= @post.created_at %>

Weniger als Bitte geben Sie ein und überprüfen Sie mit Ihrem Browser.

Befehl


rails s

rails-post_test2.png

Ich habe test1 mit dem Befehl Rails Console eingegeben und es wird fest wiedergegeben.

Elementbeschreibung

erb:app/views/Irgendein/index.html.erb


<%= @post.content %>
→content(Text posten)Erhalten

<%= @post.created_at %>
→ Buchungszeit abrufen

Bonus / Link

Wenn Sie auf diesen Beitrag verlinken möchten, schreiben Sie bitte Folgendes in Ansichten.

erb:app/views/Irgendein/index.html.erb


<%= link_to(Post.content, "/Seitenname/#{post.id}") %>

Beispiel ↓

erb:app/views/Irgendein/index.html.erb


<%= link_to(post.content, "/posts/#{post.id}") %>

Der obige Code ist auf Github verfügbar. Wenn Sie interessiert sind, laden Sie es bitte herunter. → Github

Nachwort

Das Obige ist die Anzeige der Datenbank, für die die ID der Datenbank erfasst wurde. Ich bin sehr dankbar, dass ich die ID erhalten und den Inhalt der URL und der Datenbank ausgeben kann. Wenn Sie es entwickeln, können Sie es in vielen Situationen verwenden. Danke fürs Lesen.

Referenzlink

Bücher: <a href = "https://www.amazon.co.jp/%E3%81%9F%E3%81%AE%E3%81%97%E3%81%84Ruby-%E7%AC%AC6 % E7% 89% 88-Informatik-IDEE-% E9% AB% 98% E6% A9% 8B / dp / 4797399848 / ref = sr_1_1? __Mk_ja_JP =% E3% 82% AB% E3% 82% BF% E3% 82 % AB% E3% 83% 8A & dchild = 1 & keywords =% E3% 81% 9F% E3% 81% AE% E3% 81% 97% E3% 81% 84Ruby +% E7% AC% AC6% E7% 89% 88 & qid = 1600088731 & s = books & sr = 1-1 "target =" blank "> Fun Ruby 6. Ausgabe

Meine Verbindung

Außerdem gibt es einen Link zum Twitter-Portfolio. Wenn Sie also interessiert sind Bitte verbinden. Ich würde mich sehr freuen, Freunde zu haben, mit denen ich mein Programmierlernen teilen kann.

Twitter Portfolio Github

Recommended Posts