我正在进行Getting started with Rails tutorial,当我从shell运行本地服务器时,我得到了这个:
`NoMethodError in Posts#new` `/_form.html.erb where line #1 raised:
`undefined method `model_name' for NilClass:Class
这是提取的来源(第1行):
1: <%= form_for @post do |f| %>
2: <% if @post.errors.any? %>
3: <div id="errorExplanation">
4: <h2><%= pluralize(@post.errors.count, "error") %> prohibited
我刚开始使用Ruby on Rails,我无法弄清楚发生了什么。我做错了什么?
答案 0 :(得分:3)
错误消息,您看到的意思是您有一些包含nil
对象的变量而不是您期望的实际对象。
虽然错误消息未明确引用此内容,但您的@post
变量可能为零。
为什么没有?考虑到这里的代码,这几乎是不可能的。请同时发布您的PostsController#new
广告。
答案 1 :(得分:2)
修复进入 posts_controller.rb ,添加下一个代码
def new @post = Post.new 端
祝你好运答案 2 :(得分:1)
// Make sure to use model declaration inside your method to check the error logs
class PostsController < ApplicationController
def new
@post = Post.new
end