Ich baue eine einfache Blog-Anwendung mit Rails und ich versuche, die Möglichkeit zu schaffen, einen Kommentar für einen Beitrag zu senden. Allerdings halte ich diesen Fehlerform_for erstes Argument nil Fehler in Rails mit definierten Zuordnungen
Erstes Argument in Form nicht gleich Null enthalten oder
<h3> Submit a Comment </h3>
<%= form_for [@post, @comment] do |c| %>
//Error is here, @comment appears to be nil and I'm not sure why
//(I've checked both cases)
<%= c.label :body, "Comment: " %>
<br />
<%= c.text_area :body %>
Ich habe habe die anderen Beiträge, die ein ähnliches Problem hatte, aber nicht finden konnten, ein leer sein Lösung. Jede Hilfe wäre sehr
class CommentsController < ApplicationController
def create
@post = Post.find params[:post_id]
comment_params = params.require(:comment).permit(:body)
@comment = Comment.new comment_params
@comment.post = @post
# Why is my comment nil?
if @comment.save
redirect_to post_path(@post), notice: "Comment successful"
else
flash[:alert] = "Comment unsuccessful. Please do not enter an empty comment"
render "/posts/show"
end
end
def destroy
# To be implemented
end
end
EDIT geschätzt werden: Gelöst, vergessen @comment = Comment.new in der Show-Methode in meinem Beitrag Controller
Vielen Dank allen hinzuzufügen!
Was Sie wie sieht die Steuerung? – jdgray
hinzugefügt meine Kommentare Controller – JKW