Je développe actuellement une application mémo. Je reçois une liste de toutes mes notes, mais d'une manière ou d'une autre Je souhaite afficher une liste contenant uniquement les mémos de l'utilisateur connecté sur la page de la liste des mémos.
Cette fois, nous l'apprendrons.
Tout d'abord, ajoutez une colonne appelée user_id à la table des notes (table de type post) pour déterminer qui a publié chaque publication.
class CreateNotes < ActiveRecord::Migration[5.2]
def change
create_table :notes do |t|
t.text :title
t.integer :user_id
t.integer :category_id
t.text :explanation
t.timestamps
end
end
end
$ rails db:migrate:reset
Lorsque vous enregistrez le message, mettez les informations dans la colonne user_id que vous avez ajoutée précédemment. À propos de la méthode de compilation
notes.controller.rb
def create
@note = current_user.notes.build(note_params)
@note.save
redirect_to notes_path
end
<div class='container'>
<div class='row'>
<h2>Liste de mémos</h2>
<table class='table'>
<thead>
<tr>
<th>Titre</th>
<th>Catégorie</th>
</tr>
</thead>
<tbody>
<% @notes.each do |note| %>
<% if user_signed_in? && current_user.id == note.user_id %> #Ajouter ici
<tr>
<td>
<%= link_to note_path(note) do %>
<%= note.title %>
<% end %>
</td>
<td><%= note.category.name %></td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
</div>
</div>
Décrit dans chaque déclaration (répétition) de la liste de mémos.
<% if user_signed_in? && current_user.id == note.user_id %>
L'utilisateur est-il connecté avec cette description? Et vérifiez si l'identifiant de l'utilisateur connecté et l'identifiant de l'utilisateur qui a publié le mémo sont les mêmes.
Si c'est vrai, il sera affiché! Je pense que ça va!
Je pense que l'explication est difficile à comprendre, mais j'espère qu'elle sera utile. De plus, s'il y a des erreurs, je vous serais reconnaissant si vous pouviez m'apprendre.
Recommended Posts