nil的未定义方法`title':NilClass guides.rubyonrails.org/getting_started.html

时间:2013-07-20 13:09:36

标签: ruby-on-rails

我是Rails的新手,正在研究Ruby on Rails getting started tutorial。我在5.7显示帖子'undefined method title' for nil:NilClass'时收到错误。我们非常感谢您提供的任何帮助。

class PostsController < ApplicationController
def new
end

def create
    @post = Post.new(params[:post].permit(:title, :text))

    @post.save
    redirect_to @post
end

private
def post_params
    params.require(:post).permit(:title, :text)
end

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

end



<p>
  <strong>Title:</strong>
  <%= @post.title %>
</p>

<p>
  <strong>Text:</strong>
  <%= @post.text %>
</p>

2 个答案:

答案 0 :(得分:4)

您的show方法是私有的,您需要将其移到关键字上方。

将来你可能更喜欢写

def some_method
  ...
end
private :some_method

避免这种情况。

答案 1 :(得分:0)

谢谢,这对我有用。 将“show”定义移到私有块上方。我认为“入门”文档的顺序可能令人困惑。