Ruby on rails PostsController中的NoMethodError#按照入门指南创建
我是一个Rails新手,因此我遵循《入门指南》,这里有:这里有:但我无法让第5.6/5.7点起作用 这是我的控制器: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
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