@user.name
funktioniert auf meine Beiträge, Benutzerprofil und überall sonst auf meiner Website. Aber wenn ich es zu Benutzerkommentaren hinzufüge, bekomme ich undefinierte Methode?undefined Methode, wenn ich den Benutzernamen zu den Kommentaren hinzufügen
<p class="comment_body">
<h2><%= @user.name %></h2>
<%= comment.body %>
</p>
Ich versuchte <%= user.name %>
und immer noch einen Fehler.
Ich versuchte <%= current_user.name %>
und es funktionierte. Ich möchte jedoch nicht den Namen des aktuellen Benutzers anzeigen, sondern den Namen des Benutzers, der den Kommentar gepostet hat.
EDIT:
Ich habe vergessen, Benutzer zuordnen zu kommentieren, aber ich bin nicht wirklich sicher, wie.
Kommentare Controller
class CommentsController < ApplicationController
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(params[:comment].permit(:body))
redirect_to post_path(@post)
end
end
ging ich in meine comments.rb und schrieb belongs_to :user
und in meinem user.rb fügte ich has_many :comments
.
Bitte zeigen Sie uns die entsprechende Controller-Aktion. Vermutlich deklarieren Sie die '@ user'-Variable nicht im Controller (oder sie erhält einen' nil'-Wert). – koffeinfrei
teilen Sie bitte auch die Ansicht Code mit diesen Zeilen –
Könnten Sie bitte die vollständige Fehlerausgabe hinzufügen? – Tobias