Nachdem ich eine Frage zu Teratail gestellt hatte, löste ich sie selbst. Die Seite ist so schwer (?), Dass ich sie nicht posten konnte, also schreibe ich sie zuerst hier.
Da die Eingabe über das Terminal langweilig war, habe ich in der Anwendung ein Buchungsformular erstellt, um es später für Benutzer zu verbessern, ohne es in Version 1 zu veröffentlichen. Die folgenden Filminformationen können mit der neuen Methode in der Datenbank registriert werden. - "Titel": Titel der Arbeit "Regie": Name des Regisseurs "Geschichte": Inhaltsangabe "Dienst": Name des Vertriebsdienstes, aus dem die Inhaltsangabe zitiert wird "Zeit": Spielzeit
Ich wollte den Namen des Lieferservices aus diesen vier Kontrollkästchen auswählen und den aktivierten Servicenamen in der Datenbank speichern, aber der Artikel, auf den ich mich bezog, war das Kontrollkästchen `. Da der Inhalt das Element speichern und den Status in einem Array überprüfen sollte, musste "nur der überprüfte Wert extrahiert werden", um ihn zu realisieren.
Kontrollkästchen werden mit dem Tag "check_box" platziert.
<div class="box form4">
<%= check_box "service", "PrimeVideo" %>PrimeVideo
<%= check_box "service", "Netflix" %>Netflix
<%= check_box "service", "Hulu" %>Hulu
<%= check_box "service", "U-NEXT" %>U-NEXT
</div>
Direkt in der Steuerung
service: params[:service]
Wenn Sie schreiben, wird der generierte Hash in der Spalte "service" der Datenbank gespeichert. Wenn das Kontrollkästchen deaktiviert ist, ist der Wert "0", und wenn dies der Fall ist, ist "1" der Wert.
{"PrimeVideo"=>"0", "Netflix"=>"1", "Hulu"=>"0", "U-NEXT"=>"0"}
Von hier aus möchte ich nur den Servicenamen des markierten Elements extrahieren und speichern (dh den Schlüssel, dessen Wert "1" ist)! Vielleicht, weil ich überhaupt nicht genug Grundkenntnisse hatte, wusste ich nicht, wie ich es machen sollte und ließ es in Ruhe.
def req
params[:service].each do | di1 , di2 |
if di2 == "1"
@movie = Movie.new(
title: params[:title],
directed: params[:directed],
story: params[:story],
service:di1,
time: params[:time]
)
@movie.save
end
end
end
Ich habe den Code von [Artikel, auf den ich mich ursprünglich bezogen habe] umgeleitet (https://gattsu09.hatenadiary.com/entry/2018/06/21/001805).
params [: service]
und speichern Sie den service name
und check state (0 oder 1)
in jeder der beiden Variablen.Befolgen Sie die Anweisungen.
Wenn der Dienstname nicht aktiviert ist, wird die ** Speichermethode nicht an erster Stelle ausgeführt **, aber ... ich habe keine Zeit, also möchte ich jetzt einfach weitermachen ... Wenn ich mich beruhigt habe, werde ich versuchen, den Grundstein um die Teile zu legen, die zu etwas höflicherem Code verarbeitet werden können, wie z. B. die "select-Methode", die "keys-Methode" und die SQL-Syntax.
Wir möchten allen Befragten, die uns die Gelegenheit gegeben haben, unseren aufrichtigen Dank aussprechen.
Recommended Posts