2017-04-04 109 views
0

我正在尝试创建一个小型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' 

我的路线是博客,博客不是...我要去哪里错了?我希望路线成为/博客。

+0

因为资源通常是复数形式,所以我建议说'资源:博客'。 – bodrovis

回答

1

按照惯例,将控制器文件重命名为blogs_controller.rb,并将其中的类别重命名为BlogsController。然后,在您的routes.rbresources :blogs。它应该都可以正常工作。

+0

感谢您的帮助。我回去使用标准命名约定来设置博客。 –

1

前面已经说过,它应该是:

resources :blogs 

而且我觉得控制器应该用复数太:BlogsController

1

要找到什么地方错了网址,你可以使用rake routes命令

第一列中的值前缀是您可以用作prefix_urlprefix_path的助手的名称