Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails PostsController中的NoMethodError#按照入门指南创建_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails PostsController中的NoMethodError#按照入门指南创建

Ruby on rails PostsController中的NoMethodError#按照入门指南创建,ruby-on-rails,ruby,Ruby On Rails,Ruby,我是一个Rails新手,因此我遵循《入门指南》,这里有:这里有:但我无法让第5.6/5.7点起作用 这是我的控制器: class PostsController < ApplicationController def new end def show @post = Post.find(params[:id]) end def create @post = Post.new(post_params) @p

我是一个Rails新手,因此我遵循《入门指南》,这里有:这里有:但我无法让第5.6/5.7点起作用

这是我的控制器:

class PostsController < ApplicationController
    def new
    end

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

    def create
      @post = Post.new(post_params)

      @post.save
      redirect_to @post
    end

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

end
但当我提交它时,我会出现以下错误:

PostsController中的NoMethodError#创建 #的未定义方法post_url',提取源突出显示行
重定向到@post

我做错了什么?我有ruby 1.9.3和rails 4.0.0,您可能没有在路由中添加Post部分。尝试运行rake路由,看看您在这方面得到了什么结果:

rake routes | grep post


如果您在路线中提到post,则可能是您在此处使用了错误的路径。

您是否在
config/routes.rb
中添加了以下行

resources :posts

在你的
routes.rb中
我看到你

resource :posts
我认为应该是:

resources :posts

发布完整的帖子控件也发布你的
路由。rb
是在routes.rb文件中,与我的问题中一样。添加此行后是否重新启动服务器?不,指南中没有提到我,但是没有解决我的问题我获取帖子/posts(:format)posts#创建新帖子获取/posts/new(:format)posts#new edit#posts GET/posts/edit(:format)posts#edit GET/posts(:format)posts#show PATCH/posts(:format)posts#update PUT/posts(:format)posts#update DELETE/posts(:format)posts#Destroy,你说你在
重定向到@post
行上出现错误??是的,没错,我突出显示了
重定向到@post
行,而尝试
重定向到新的帖子路径(@post)
+1注意到这一点。这里还有更多关于OP的信息:我明白了,我不知道这一点。但是你跟踪的文档要求使用
资源:posts
中的内容我知道这是很久以前的事了,但我被困在这一点上一个小时,正要放弃RoR lol。非常感谢你的帮助!!!
resource :posts
resources :posts