Record d'apprentissage de Ruby on rails -2020.10.05

Méthode de transmission des données par formulaire Web Méthode GET : inclure dans l'URL `http://example.net?id=3&content=hello`

Méthode POST </ b>: inclure dans le message de demande article[name]=paiza article[content]=hello+world

Si les journaux du serveur Rails etc. disparaissent en haut de l'écran, la molette de la souris est utile.

Si vous ne pouvez pas utiliser la roue Mac: CTRL + Alt + touches fléchées Haut / Bas Windows: touche CTRL + touches fléchées haut et bas

Fonction de routeur de rails Vérifier les paramètres des itinéraires `rails routes` Vous pouvez vérifier GET et POST

Définir la distribution du routeur

config/routes.rb


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

  resources :articles
  root 'welcome#index'
end

welcome # index devient la première page

Afficher le modèle Méthode d'assistance : une commande dédiée qui peut être utilisée lors de la création d'une vue
<%= link_to 'Edit', edit_article_path(@article) %> |
<%= link_to 'Back', articles_path %>

Vous pouvez écrire des liens entre les pages des applications Rails.

<%= link_to 'text', path %>

Cela peut être converti en html suivant.

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

Comportement du post-formulaire Modèle partiel : un modèle qui décrit plusieurs vues Pour l'appeler, utilisez la méthode render.
<%= render 'form', article: @article %>

Dans ce cas, "_form.html.erb" est le nom de fichier du modèle partiel. Vous pouvez également utiliser l'objet @article dans la variable article.

Méthode d'assistance pour créer un formulaire </ b> form_for: Utilisé pour créer / mettre à jour un nouveau modèle comme un formulaire de publication form_tag: utilisé lors de la mise à jour du modèle comme le formulaire de recherche

méthode form_for </ 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 %>

Ecriture des données du contrôleur Paramètres forts : Répertorier les colonnes inscriptibles pour un accès sécurisé à la base de données Décrivez dans la méthode article_params du contrôleur.

articles_controller.rb(partie)


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

Ajouter un formulaire de recherche Ajouter un formulaire de recherche à afficher

index.html.erb(partie)



<%= 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>

Ajout du code de recherche pour la méthode d'index au contrôleur

articles_controller.rb(partie)


# 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