Form_for "Erstes argument in der form enthalten, nicht null oder leer sein" Fehler

Ich kann nicht herausfinden, warum ich diese Fehlermeldung bekommen, und was es genau bedeutet.

Erste argument in der form enthalten, nicht null oder leer sein(Zeile 3)

Hinzufügen eines neuen Post

<%= form_for @post do |f| %>  //Error here
<p>
    <%= f.label :title, 'Title' %><br/>
    <%= f.text_field :title %><br/>
</p>
<p>
    <%= f.label :content, 'Content'%><br/>
    <%= f.text_area :content %><br/>
</p>
<p>
    <%= f.submit "Add a New Post" %>
</p>
<% end %>

Controller:

class PostsController < ApplicationController
    def index
        @posts = Post.all
    end

    def show
        @post = Post.find(params[:id])
    end

    def new
        @post = Post.new
    end

    def create
        @post = post.new(params[:post])

        if @post.save
            redirect_to posts_path,  :notice => "Your post was saved"
        else
            render "new"
        end
    end

    def edit

    end

    def update

    end

    def destroy

    end
end
  • wie hast du das erklären @post?
  • Ihre @post sollte nil
  • zeigen Sie uns Ihre controller-code
  • meine neue Aktion in der post hatte einen Tippfehler, danke für deine Hilfe
  • Sicherlich @post = post.new(params[:post]) sein sollte " @post = post.new(params[:Beitrag])
  • Abstimmungsergebnis repoen, weil ich glaube die Frage ist ziemlich klar und eindeutig, und ich bin mir ziemlich sicher, dass es verursacht wird durch die Frage darauf hingewiesen, in den beiden nachfolgenden Antworten (disclaimer: eine der Antworten ist von mir).
  • Verkaufen war richtig, sorry das es so lange gedauert, zu akzeptieren, Ihre Antwort, ich dachte, ich nahm vor langer Zeit.

InformationsquelleAutor Greg | 2013-03-13
Schreibe einen Kommentar