Ruby on Rails Lernrekord -2020.10.05

Webformular-Datenübertragungsmethode GET-Methode : In URL einschließen `http://example.net?id=3&content=hello`

POST-Methode </ b>: In Anforderungsnachricht aufnehmen article[name]=paiza article[content]=hello+world

Wenn die Rails-Serverprotokolle usw. oben auf dem Bildschirm verschwinden, ist das Mausrad hilfreich.

Wenn Sie das Rad nicht bedienen können Mac: STRG + Alt + Aufwärts- / Abwärtspfeiltasten Windows: STRG + Aufwärts- und Abwärtspfeiltasten

Rails-Router-Funktion Überprüfen Sie die Routeneinstellungen `rails routes` Sie können GET und POST überprüfen

Stellen Sie die Router-Verteilung ein

config/routes.rb


Rails.application.routes.draw do
  get 'welcome/index'

  resources :articles
  root 'welcome#index'
end

Der Willkommensindex wird zur obersten Seite

Vorlage anzeigen Hilfsmethode : Ein dedizierter Befehl, der beim Erstellen einer Ansicht verwendet werden kann
<%= link_to 'Edit', edit_article_path(@article) %> |
<%= link_to 'Back', articles_path %>

Sie können Links zwischen Seiten von Rails-Apps schreiben.

<%= link_to 'text', path %>

Dies kann in das folgende HTML konvertiert werden.

<a href="path">text</a>

Verhalten nach dem Formular Teilvorlage : Eine Vorlage, die mehrere Ansichten beschreibt Verwenden Sie zum Aufrufen die Render-Methode.
<%= render 'form', article: @article %>

In diesem Fall ist "_form.html.erb" der Dateiname der Teilvorlage. Sie können auch das Objekt @article in der Artikelvariablen verwenden.

Hilfsmethode zum Erstellen eines Formulars </ b> form_for: Wird verwendet, um ein neues Modell wie ein Post-Formular zu erstellen / zu aktualisieren form_tag: Wird verwendet, wenn das modellähnliche Suchformular nicht aktualisiert wird

form_for method </ b>

<%= form_for(@article) do |f| %>
  <div class="field">
    <%= f.label :name %>
    <%= f.text_field :name %>
  </div>

  <div class="field">
    <%= f.label :content %>
    <%= f.text_field :content %>
  </div>

  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

Controller-Daten schreiben Starke Parameter : Listen Sie beschreibbare Spalten für den sicheren Zugriff auf die Datenbank auf Beschreiben Sie in der article_params-Methode des Controllers.

articles_controller.rb(Teil)


# Never trust parameters from the scary internet, only allow the white list through.
def article_params
  params.require(:article).permit(:content, :name, :feeling)
end

Suchformular hinzufügen Suchformular zum Anzeigen hinzufügen

index.html.erb(Teil)



<%= form_tag('/articles', method: 'get') do %>
  <%= label_tag(:name_key, 'Search name:') %>
  <%= text_field_tag(:name_key) %>
  <%= submit_tag('Search') %> <%= link_to 'Clear', articles_path %>
<% end %>

<br>

Suchcode für Indexmethode zum Controller hinzugefügt

articles_controller.rb(Teil)


# GET /articles
# GET /articles.json
def index
  if params[:name_key]
    @articles = Article.where('name LIKE ?', "%#{params[:name_key]}%")
  else
    @articles = Article.all
  end
end

Recommended Posts