Ich entwickle gerade eine Memo-App. Ich bekomme eine Liste aller meiner Notizen, aber irgendwie Ich möchte nur eine Liste der Memos des angemeldeten Benutzers auf der Memolistenseite anzeigen.
Dieses Mal werden wir davon erfahren.
Fügen Sie zunächst der Notizentabelle (Post-Type-Tabelle) eine Spalte mit dem Namen user_id hinzu, um zu bestimmen, wer die einzelnen Posts erstellt hat.
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
Geben Sie beim Speichern des Beitrags auch die Informationen in die zuvor hinzugefügte Spalte user_id ein. Informationen zur Erstellungsmethode
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>Memoliste</h2>
<table class='table'>
<thead>
<tr>
<th>Titel</th>
<th>Kategorie</th>
</tr>
</thead>
<tbody>
<% @notes.each do |note| %>
<% if user_signed_in? && current_user.id == note.user_id %> #Hier hinzufügen
<tr>
<td>
<%= link_to note_path(note) do %>
<%= note.title %>
<% end %>
</td>
<td><%= note.category.name %></td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
</div>
</div>
Beschrieben in jeder Anweisung (Wiederholung) der Memoliste.
<% if user_signed_in? && current_user.id == note.user_id %>
Ist der Benutzer mit dieser Beschreibung angemeldet? Überprüfen Sie, ob die ID des angemeldeten Benutzers und die ID des Benutzers, der das Memo veröffentlicht hat, identisch sind.
Wenn wahr, wird es angezeigt! Ich denke das ist okay!
Ich denke, die Erklärung ist schwer zu verstehen, aber ich hoffe, dass sie hilfreich sein wird. Auch wenn es Fehler gibt, würde ich es begrüßen, wenn Sie mich unterrichten könnten.
Recommended Posts