[RUBY] Grundlagen wie Seiten Nation entwickeln

Eine Seite, die leicht zu vergessen ist

In einer Controller-Aktion definierte Instanzvariablen können in der Ansicht für diese Aktion verwendet werden.

Der in der zu schreibenden Spalte gespeicherte Wert heißt Eigenschaftswert </ strong>.

Hilfsmethode

Rails bietet Methoden, um HTML-Tags in der Ansicht anzuzeigen und Text im Voraus zu verarbeiten. Diese werden als Hilfsmethoden bezeichnet. simple_format Eine Methode, die "
" mit einem Zeilenumbruch hinzufügt und die Zeichenfolge in "

" einschließt form_tag Methode, mit der das Formular angezeigt wird link_to Methode zum Anzeigen eines Tags Und so weiter.

Die CSS-Datei wird aus stylesheet_link_tag im HTML-Head-Tag gelesen.

require_tree bedeutet, alle CSS-Dateien in dem als Argument angegebenen Verzeichnis in alphabetischer Reihenfolge zu lesen. . Ist ein Argument und repräsentiert das aktuelle Verzeichnis.

application.css


require_tree .

MVC Schienenprozesse in der Reihenfolge Routing → Controller → Modell → Ansicht. Ein System, das einen Modellansichts-Controller zur Durchführung der Verarbeitung verwendet, wird als MVC bezeichnet, was jeweils ein Akronym ist.

Bilden

In einem Formular kann der Benutzer Informationen eingeben und diese Informationen an den Server senden. Sie können erstellt werden, indem Sie ein Formularelement im HTML-Code erstellen und ein Eingabeelement und ein Textbereichselement darin einfügen. Sie können ein Formular mit dem Formular-Tag erstellen. Aus Sicherheitsgründen empfiehlt Rails jedoch die Verwendung der Hilfsmethoden form_tag, form_for und form_with.

Die vom Benutzer in das Formular eingegebenen Werte sind in einer Variablen namens "params" in der Steuerung enthalten. Stellen Sie sich params als Hash-Objekt vor. Die in das Formular in der Ansicht eingegebenen Informationen werden zusammen mit den Schlüsseln als Parameter an die Steuerung gesendet. Dieser Parameter kann mit einer Methode namens "params" erhalten werden. Wie benutzt man

params[:Schlüsselname]

Der Wert des Namensattributs in der Eingabe oder im Textbereich im Formular entspricht dem Schlüsselnamen.

Starke Parameter

Ein starker Parameter empfängt nur Parameter mit dem angegebenen Schlüssel. Die Sicherheit kann erhöht werden, indem der Empfang nicht autorisierter Informationen verhindert wird. Sie kann definiert werden, indem eine Methode namens "beliebig starker Parameter name_params" erstellt wird.

xxxxx.rb


private
def sample_params    ###Beliebiger starker Parametername_params
  params.permit(:Schlüsselname, :Schlüsselname)
end

Schreiben Sie in der Methode params.permit und folgen Sie dem Schlüsselnamen des Parameters, der empfangen werden darf. Die Erlaubungsmethode generiert einen neuen Hash mit dem Namen des Schlüssels, der auf die "Parameter" folgt. Dies ist der Hash der von der Ansicht gesendeten Informationen zusammen mit dem Wert.

private Methode

Wenn Sie in der Klasse privat schreiben, können die danach definierten Methoden nicht von außerhalb der Klasse aufgerufen werden. Sie können die Methoden schützen, die bei einem Aufruf von außen problematisch sind, und Sie müssen nicht privat und darunter lesen, was die Lesbarkeit des Codes verbessert.

image_tag In Rails werden Bilder wie Logos und Banner, die Sie fest anzeigen möchten, normalerweise unter App / Assets / Bilder platziert.

sample.html.erb


<%= image_tag 'sample.png' %>

pry-rails Pry-Rails ist eines der Juwelen und ein Debugging-Tool für Rails. Auf diese Weise können Sie nach Fehlern suchen oder den Prozess stoppen und prüfen, ob der Quellcode korrekt ist. Die Funktion, die ich besonders benutze, ist binding.pry. Sie können es verwenden, um den Prozess zu stoppen und dasselbe wie mit der Rails-Konsole zu tun. Schreiben Sie binding.pry in den Quellcode, den Sie stoppen möchten. Sie können überprüfen, ob der Prozess korrekt ausgeführt wird, indem Sie den Wert der Variablen abrufen oder mehrere binding.prys festlegen. Wenn Sie den Vorgang fortsetzen möchten, geben Sie im Terminal "exit" ein.

sample_controller.



def create
  Sample.create(sample_params)
binding.pry
end

private
def sample_params
  params.permit(:name, :image, :text)
end

Posten Sie auf dem Buchungsbildschirm. (new.html.erb)

Dann wird die Konsole im Terminal gestartet

Terminal.


[1] pry(#<SamplesController>)> params
=> <ActionController::Parameters {"authenticity_token"=>"DnHBKql5oQq9lARgEnK8gQiFAhnTvIVa1XH8d13u7tuVjDUGWPM1eEjVbF44iFms57+VE7+vT3SYUePDy3lwWQ==", "name"=>"aa", "image"=>"https://kumamoto.photo/archives/_data/i/upload/2019/03/13/20190313172208-2113bf9d-la.jpg ", "text"=>"dddddddd", "controller"=>"samples", "action"=>"create"} permitted: false>
[2] pry(#<SamplesController>)> params[:text]
=> "dddddddd"

Wenn Sie auf der Konsole "params" eingeben, wird der auf dem Buchungsbildschirm eingegebene Wert zusammen mit dem Schlüsselnamen als Parameter ausgegeben.

Geben Sie "exit" ein, um die Verarbeitung fortzusetzen.

Wurzelpfad

Eine URL, die nur den Hostnamen enthält, ohne der URL einen Pfad hinzuzufügen, wird als Stammpfad bezeichnet. Wie schreibe ich in route.rb

routes.rb


root 'Controller-Name#Aktionsname'

Bestellmethode

Eine Methode zum Sortieren der Instanzen. Wenn Sie alle Datensätze abgerufen haben, können Sie die Datensätze sortieren.

.order("Auftragsspezifikation für Spaltennamen ")

ASC ist in aufsteigender Reihenfolge, vom ältesten in Bezug auf das Datum DESC ist ab dem neuesten Datum in absteigender Reihenfolge

Seitennummerierung

Etwas, das die Seite teilt. Sie können die Anzahl der Elemente festlegen, die pro Seite angezeigt werden sollen. Es kann mit Gem Kaminari implementiert werden.

page Methode Mit dieser Methode können Sie die Anzahl der Seiten angeben. Es ist nicht die Gesamtzahl der Seiten, sondern die Anzahl der Seiten, auf denen Sie sich gerade befinden.

per Methode Sie können die Anzahl der Elemente festlegen, die pro Seite angezeigt werden sollen.

sample_controller.


@samples = Sample.order("id ASC").page(params[:page]).per(10)

Für das Argument der Seitenmethode wurde der Modellklasse bei der Einführung von Kaminari der als Seite bezeichnete Schlüssel hinzugefügt, der beschrieben wird. Der Wert dieses Schlüssels ist die in der Ansicht angegebene Seitenzahl.

devise-login function-

Ein Juwel, mit dem Sie die Anmeldefunktion einfach implementieren können.

Beschreiben Sie das Gerät in Gemfile Nach der Bundle-Installation Im App-Verzeichnis Wenn Sie auf "Rails G Devise: Install" klicken Eine Konfigurationsdatei wird erstellt. config / initialize / devise.rb und config / locales / devise.en.yml.

Weil ich ein Modell zum Erstellen eines Kontos erstellen muss Erstellen Sie verwandte Dateien, z. B. Modelle mit "Rails", und geben Sie den Namen der Modellklasse an. Eine Modelldatei und eine Migrationsdatei werden erstellt. Zur gleichen Zeit in route.rb

devise_for :Mehrere Formen des Modellnamens

Wird hinzugefügt werden. devise_for ist eine Hilfsmethode für Geräte, die das erforderliche Routing für die Anmeldung sofort generiert.

Hilfsmethoden wie current_user und user_signed_in sind ebenfalls verfügbar.

Sie können eine Ansichtsdatei für Ihr Gerät mit "Rails g Devise: Views" erstellen.

Prefix Eine Variable, die den Routing-Pfad enthält.

es sei denn, Aussage

Beschreibt die Verarbeitung, die ausgeführt werden soll, wenn der bedingte Ausdruck falsch ist, was das Gegenteil der if-Anweisung ist.

es sei denn, bedingter Ausdruck
Verarbeitung, die bei Fälschung ausgeführt werden soll
end

Wenn der bedingte Zweig eine Zeile ist, kann er in einer Zeile beschrieben werden.
puts "Bitte loggen Sie sich ein" unless user_signed_in?
###Wenn Sie nicht angemeldet sind (dh gefälscht)"Bitte loggen Sie sich ein"Wird angezeigt

redirect_to Methode

Wenn in Rails die Verarbeitung einer Aktion abgeschlossen ist, wird im Grunde genommen mit demselben Namen wie die Aktion in die Ansicht übergegangen. Sie können jedoch die Methode "redirect_to" verwenden, um eine andere Aktion auszuführen oder zur Ansicht überzugehen.

redirect_to { action: :index }

Nimmt action: als Schlüssel und symbolischen Typ des Namens der Aktion als Wert. Zum Beispiel : index. {} Kann ausgelassen werden.

before_action-Methode

Sie können die Methode angeben, die Sie ausführen möchten, bevor die Aktion im Controller ausgeführt wird. Sie kann durch den Methodennamen des Symboltyps angegeben werden. Es gibt die Optionen "außer" und "nur", und Sie können jede Aktion einschränken.

Spalte zur Tabelle hinzufügen

Schienen g Migration Spaltennamen zum Tabellennamen hinzufügen Spaltenname:Schimmel

Methode configure_permitted_parameters

Bei der Implementierung der Anmeldefunktion mit devise unterscheidet sich die Art und Weise des Empfangs von Parametern von der üblichen. Standardmäßig ist der Parameter strong so eingestellt, dass nur die E-Mail-Adresse und das Kennwort empfangen werden. Verwenden Sie die Methode configure_permitted_parameters, um sie hinzuzufügen.

application_controller.rb


before_action :configure_permitted_parameters, if: :devise_controller?

def configure_permitted_parameters
  devise_parameter_sanitizer.permit(:Aktionsname, den Sie hinzufügen möchten, keys: [:Schlüssel zum Hinzufügen])
end

application_controller.rb


class ApplicationController < ActionController::Base
#  protect_from_forgery with: :exception
 before_action :configure_permitted_parameters, if: :devise_controller?

 def configure_permitted_parameters
  devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
 end
end

Recommended Posts

Grundlagen wie Seiten Nation entwickeln
[Rails] Einführung in die Grundlagen der Entwicklung