使用 Rails 指南创建博客并停留在 5.7:显示帖子。
我已经咨询过这个答案:NoMethodError on section 5.7 of Rails Guide,它为我解决了一个不同的问题,但现在我被困在这里。它告诉我我从未定义过方法 permit,我理解,也没有在任何地方看到它定义,但指南从未让我定义它或引用它需要定义。从玩它并得到一些错误回来,我认为有必要实际存储帖子数据吗?
我可以达到我提交帖子的程度,但是当我提交时,我得到的只是:
NoMethodError in PostsController#create
undefined method `permit' for nil:NilClass
错误消息指定错误发生在此代码的第二行:
def create
@post = Post.new(params[:post].permit(:title, :text))
@post.save
redirect_to @post
我的 posts_controller 文件如下所示:
class PostsController < ApplicationController
def new
end
def create
@post = Post.new(params[:post].permit(:title, :text))
@post.save
redirect_to @post
end
def show
@post = Post.find(params[:id])
end
private
def post_params
params.require(:post).permit(:title, :text)
end
end
当我.permit(:title, :text)
从 create 方法中删除时(如此处建议:无法创建新帖子),我不再收到错误,但只是提供了一个页面,内容如下:
Title:
Text:
即使我提交了文本。
请让我知道我是否需要发布更多信息,或者我是否应该轻松找到修复,第一次发布,全新的 Rails。