我是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>
答案 0 :(得分:4)
您的show
方法是私有的,您需要将其移到关键字上方。
将来你可能更喜欢写
def some_method
...
end
private :some_method
避免这种情况。
答案 1 :(得分:0)
谢谢,这对我有用。 将“show”定义移到私有块上方。我认为“入门”文档的顺序可能令人困惑。