Rails form_for按预期工作
问题描述:
我正在尝试创建一个小型Rails博客,并且遇到了错误。我想我已经搞乱了这里的命名约定......但是我找不到足够具体的东西来帮助我并给我答案。Rails form_for按预期工作
我有
resources :blog
的路线和具有控制器的以下
class BlogController < ApplicationController
def index
@blogs = Blog.all
end
def show
@blog = Blog.find(params[:id])
end
def new
@blog = Blog.new
end
end
当我尝试建立一种形式new.html.erb页上,它链接到路由其中规定
undefined method `blogs_path'
我的路线是博客,博客不是...我要去哪里错了?我希望路线成为/博客。
答
按照惯例,将控制器文件重命名为blogs_controller.rb
,并将其中的类别重命名为BlogsController
。然后,在您的routes.rb
:resources :blogs
。它应该都可以正常工作。
+0
感谢您的帮助。我回去使用标准命名约定来设置博客。 –
答
前面已经说过,它应该是:
resources :blogs
而且我觉得控制器应该用复数太:BlogsController
答
要找到什么地方错了网址,你可以使用rake routes
命令
第一列中的值前缀是您可以用作prefix_url
或prefix_path
的助手的名称
因为资源通常是复数形式,所以我建议说'资源:博客'。 – bodrovis