Rails form_for无法按预期工作

时间:2017-04-04 12:33:09

标签: ruby-on-rails ruby

我正在尝试创建一个小型rails博客,并且遇到了错误。我想我已经搞砸了这里的命名惯例......但是我找不到足够的东西来帮助我并给我答案。

我有一条

的路线
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'

我的路线是博客,而不是博客......我哪里错了?我希望这条路线是/博客。

3 个答案:

答案 0 :(得分:1)

遵循约定,将控制器文件重命名为blogs_controller.rb,将其中的类重命名为BlogsController。然后,在routes.rbresources :blogs中。它应该都可以正常工作。

答案 1 :(得分:1)

如前所述,它应该是:

resources :blogs

我认为控制器也应该使用复数:BlogsController

答案 2 :(得分:1)

要查找网址有什么问题,可以使用rake routes命令

第一列前缀中的值是您可以用作prefix_urlprefix_path

的帮助者名称