· Version 10.15.3 ・ Ruby Ruby 2.6.3p62 ・ Schienen 6.0.3.2
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.
Bitte beachten Sie, dass Sie für zukünftige Arbeiten eine Datenbank erstellen müssen. Weitere Informationen → Zu den oben genannten
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.
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
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
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
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
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.
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
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.
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
Ich habe test1 mit dem Befehl Rails Console eingegeben und es wird fest wiedergegeben.
erb:app/views/Irgendein/index.html.erb
<%= @post.content %>
→content(Text posten)Erhalten
<%= @post.created_at %>
→ Buchungszeit abrufen
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
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.
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
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.
Recommended Posts